【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
なんで次立ててんだ、カス。
そもそも2chはそれぞれの板の趣旨に沿って、 既にある程度は知識・経験を持っている者同士が話を 深めていくところなのであって、初心者の質問は板においてはオマケに過ぎない。 手間も費用もかけずにタダで知識をゲットしようなんて甘い、 初心者の質問は無視されても仕方が無い。それが2chの基本。 でも、 「2chの人達ならばこの問題を解決してくれるかもしれない」 と思って2chを訪れる善意の人たちのために、 多くの板ではあくまでも 《 厚意で 》 質問専用スレを用意している。 なのに、 「質問スレだと解答が遅い」 「単発スレのほうがレスが早く着く」 などのふざけた理由で単発スレを立てるヴァカが引きも切らない。 もし、単発スレにいちいち解答していたとしたら、 勘違い厨房が 「やっぱり単発スレの方がすばやく解答をもらえるじゃないか」 と感じて毎日毎日10個も20個も単発質問スレが立ってしまい、 5分前に立った似たような単発スレすらも見付けられないだろう。 そもそもこういう自己中なヴァカは過去ログなんか絶対チェックしない。 そのうちに板内はその手の単発質問スレで埋め尽くされてしまうだろう。 そうなればパート●●とか続いている名シリーズ・スレすらもどんどんDAT落ちしてしまうだろう。 と言う事ぐらい、5秒も考えれば分かりそうなもんだ。
なんでこんなスレをたてたんだ?
8 :
nobodyさん :2009/02/12(木) 16:02:45 ID:+X3aCOfr
「Eclipse + PDT」を使ってる方いましたら質問です。 プロジェクトを追加したところ、htmlやjavascriptまでシンタックスエラーをチェックしてしまい、 「問題」「警告」の欄が溢れています。 これはなんとか除外できないものなのでしょうか。
簡単な書き込みで下記のようにしていますがすぐに壊れてしまいます。 (各行最大4文字で最大500行、DBは使わない。) $text="aaa"."\n"; $data = file("example.txt"); $fp = fopen("example.txt","a+b"); if(flock($fp, LOCK_EX)){ ftruncate($fp, 0); fwrite($fp,$text); $i = 0; foreach ($data as $value) { fwrite($fp,$value); $i++; } fclose($fp); 簡単に壊れないようにするにはどうすれば良いでしょうか。
このスレは重複スレなので削除対象です 質問は本スレでどうぞ
>>9 同壊れるか分からないが。。
ロックは適当に
$data = "aaa"."\n".file_get_contents("example.txt");
$fp = fopen("example.txt","wb");
fputs($fp,$data);
fclose($fp);
>>9 ありがとうございます。上記の物とこれで様子を見てみます。
$data = "aaa"."\n".file_get_contents("example.txt");
file_put_contents("example.txt", $data, LOCK_EX);
もう一つ質問なのですが、テキストファイルよりも
DATファイルとかの方が強いのでしょうか。
ロックかけるときはロック専用ファイルを用意してそれをロックすることをおすすめする。
$hoge = 1; if($hoge){ 〜〜〜 $hoge = true; if($hoge){ 〜〜〜 どちらの方がいいのでしょうか
いいの基準は?
どっちもif文成立するからif文無くていい
他言語は正規表現を一旦コンパイルして変数に持っておけますが PHPでそういうことできませんか? ループ中で使うと毎回コンパイルされるのはもったいないと思うんですが
if(preg_match('/^[a-z]+$/',$A)){ $AA=$A; } if(preg_match('/^[a-z]+$/',$B)){ $BB=$B; } を何度も書くのと if(Match($A)){ $AA=$A; } if(Match($B)){ $BB=$B; } function Match($ZZ){ return preg_match('/^[a-z]+$/',$ZZ); } と書くのではどちらが一般的でしょうか?
どっちも一般的でない
ありがとうございます。 他に方法が思いつかないので よろしければヒントを教えて下さい。
3度以上書くならctype_alpha && ctype_lowerを関数定義ぐらいでいいと思うが
ありがとうございました。私の環境で ctype_alpha && ctype_lowerとpreg_match('/^[a-z]+$/’,$text) が同じ動作かどうか調べてみます。
デリミタに/使ってんじゃねえよ 括弧使えよクズ 何で括弧使うか理由も調べてこい史ね
そうです
IP出し質問スレ誰か立ててくれんかね 規制中でなければ自分でたてるんだが
これっすか?
まちがえたぜIPじゃなくてIDな スレ82をだれかたのむ
ツールの入力欄に%2F{$}って半角で入れるとエラーになるぞ。
33 :
32 :2009/03/08(日) 15:00:29 ID:???
すまん、ダメだった
そりゃそうさ このスレが本スレだし
>>34 おまえはこのスレができた意味を知らない人だよね
難癖つけ太郎の唯一の棲家だしなw
>難癖つけ太郎 何時の時代のセンスだ
日本語のみは拒否ってどうすればいい?
正規表現
UTF-8だと日本語と中国語の区別難しいぞ
日本語のみは拒否ってどういう状況だ
エスパーしてやると半角英数字だけ通せば日本語は省けます
いえ、中国語と韓国語とアラビア語は通してください
SJISです。 今はstrstrとin_arrayを使ってる。(完璧ではない) 拒否 おはよう 拒否 愛さん 許可 goodmorning 許可 goodmorning愛さん 許可 goodmorning愛さん:D
if( ereg( "^[a-z][0-9]", $str ) )
ieでそのurlにアクセスしたら 右クリック > 対象をファイルに保存 でおk
49 :
nobodyさん :2009/03/23(月) 10:24:31 ID:8ptTuCbS
2009-04-01 08:40:00 ↑の時間の30分後を取得する方法。
50 :
47 :2009/03/23(月) 10:36:20 ID:???
PHPで行いたいのです
..47 PHP ファイルダウンロード でググレ貸す
52 :
47 :2009/03/23(月) 10:53:13 ID:???
寝て、起きていじったらすぐにできました お騒がせしました
>>49 $date= '2009-04-01 08:40:00';
preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d);
$d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1]));
printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]);
>>53 長!!
確認してみます。ありがとうございます。
>>53 なにそのセンスもない無駄なコード
正規表現なんて使わんでもできる
>>49 今メシ食うから食べ終わったら書いてやるから待ってろ
マダー?
ほれ date_default_timezone_set("Asia/Tokyo"); $time = 60*30; $data = "2009-04-01 08:40:00"; $st = strtotime($data)+$time; echo date('Y-m-d H:i:s',$st);
ウワショボw
>>49 echo date("Y-m-d H:i:s",(strtotime("2009-04-01 08:40:00") + 60*30));
別に複雑に書いたつもりはないけど、処理の過程が明確で日時の場合月日だけとか 時分秒だけとか副次的に利用することがおれの場合は多いからこう書くクセがついてるだけ
>>60 echo date( "Y-m-d H:i:s", strtotime( "2009-04-01 08:40:00 +30 min" ) );
おまえらすげーぞ 参考にしてみるわ。
そういう場合ってwwww 使えるなら使うのがプログラミングの基礎ですよ 甘いですね
お前は何を言ってるんだ
正規表現を覚えたてで何でも使いたい頃なんだよ多めに見てやれや
正規表現が理解できないゆとりが正規表現潰しに必死です
三項演算子が理解できないゆとりが(ry
できれば何でもいいんだよ
ちなみに俺は
>>61 じゃない
どっちが効率がいいのか明確なのに一名必死ですねw
どこがどう何が効率がいいの? コードの短さだけを見て判断してるの?
ほんとだよなdateにフォーマット渡せば済むのにわざわざ正規表現使う意味がわからない
コーディングスタイルは人それぞれだろ 意味がわからないってwww
それコーディングスタイルとは言わないだろ
批判してるやつは自分が完璧だとでも言いたいのか? 本当に他人のコードを批判できるのは 言語開発側にいるハッカーや学者等一握りしかいない 全てのコードをアセンブラレベルで完璧に効率よく組むことができない限り たかだか一部分の話題をとって他人を批判するもんじゃない 自分のコードがいかに効率的か完璧か自信があるか?
少なくとも正規表現よりは効率的だわ
んじゃ、そろそろどなたかベンチマークで決着つけてください。
あ〜あ正規表現クンが荒れてきたよwwwwwwwwwwwwww
頭の悪いやつばっかだな
>>53 は正規表現が好きなんだから使えばいいんじゃないの
フォーマット変更するとき一々何か所も変更するのが苦にならないんだから
date_default_timezone_set('Asia/Tokyo'); $time[1]['start'] = microtime(true); for($i=0;$i<10000;$i++) { date("Y-m-d H:i:s",(strtotime("2009-04-01 08:40:00") + 1800)); } $time[1]['end'] = microtime(true); $time[0]['start'] = microtime(true); for($i=0;$i<10000;$i++) { $date= '2009-04-01 08:40:00'; preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d); $d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1])); printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]); } $time[0]['end'] = microtime(true); echo "<p>結果</p>"; $time[0]['kekka'] = $time[0]['end'] - $time[0]['start']; $time[1]['kekka'] = $time[1]['end'] - $time[1]['start']; echo "<pre>"; print_r($time); echo "</pre>";
正規表現くんは黙ってろ
ただの検証コードを貼り付けてるだけなのに 少しでも難しそうなことが書いてるとこれだもんな ほんと憐れだよ 理解できないほうこそ黙ってるべきだろ
お前この程度が限界なのか
正規表現使うのがかっこいいとかそういうノリだろ そもそも質問に出てくるような用途で正規表現を使うことが勿体ない
すみません教えて頂きたい事があるのですが php 5.1.4.4 apache 2.0.58.200で basic認証が必要なページに対してsetcookieでID/PASSをセットして 認証済みにして表示させています。 ですが認証済みのページからword/excelのファイルリンクをクリックすると なぜか認証のダイアログが表示されます。 jpegやpdf等に関しては認証が通っているページからのリンククリックなので そのまま表示できますが、word/excelのファイルに関してだけが認証ダイアログが 表示されてしまいます、しかもキャンセルするとファイルの中身が表示できてしまいます。 word/excel/jpeg/pdfは全て同じbasic認証が必要なフォルダに入れております。 URL直叩きの場合は全てのファイルで認証画面が表示されます。 なぜjpeg/pdfはOKでword/excelがNGなのかがよく分かりません。 よろしくお願いします。
ここまで言われると昨日の荒らしも恥ずかしくてでてこれないべや
///) /,.=゙''"/ / i f ,.r='"-‐'つ____ 細けぇ事はいいんだよ!! / / _,.-‐'~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ / ノ il゙フ ::::::⌒(__人__)⌒::::: \ ,イ「ト、 ,!,!| |r┬-| | / iトヾヽ_/ィ"\ `ー'´ /
普通に聞きたいんですけど $date= '2009-04-01 08:40:00'; preg_match("/(\d{4})\D(\d\d?)\D(\d\d?)\s+(\d\d?):(\d\d?):(\d\d?)/s", $date, $d); $d= localtime(60*30+mktime($d[4], $d[5], $d[6], $d[2], $d[3], $d[1])); printf("%d-%02d-%02d %02d:%02d:%02d", $d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0]); これの利点ってなんですか?
$date= <<<EOT 2009-04-01 08:40:00 EOT; 目的のデータが↑みたいな厄介なフォーマットだった場合、ちょこちょこ改変して使えるってことじゃね?
>>91 改行含んでるだけでどこが厄介なんだよ??
改行含んでても正規表現は使わなくてもできるよ?
改行を含ませて出力したいなら
echo date("Y-m-d\tH:i:s",(strtotime("2009-04-01 08:40:00") + 1800));
↑の\tは\nの書き間違いね 改行を含んだ日付を使う場合 $t = "2009-04-01 08:40:00"; echo date("Y-m-dH:i:s",(strtotime($t) + 1800)); 改行を含んだ日付を使い、出力も改行させる場合 $t = "2009-04-01 08:40:00"; echo date("Y-m-d\nH:i:s",(strtotime($t) + 1800));
あんまり正規表現さんをいじめるなよw 顔真っ赤にして荒らされるぞw
荒らしてるのはお前だけだろ・・・ どっか逝けよ
>>90 正規表現にはこうやって性格の悪いやつを引き寄せるパワーがある
そもそも正規表現を使うことでもないのに使ってるからちょっと言われてたんだろ もういいよ
悪かったな俺の質問でこんなんになって。 ところで質問なんですけど、 $arr = array("りんご", "みかん", "ブドウ", "", "スイカ"); $arr = str_replace("", "パイナップル", $arr); print_r($arr); 希望の値を出力しません。 空の値に文字列を置換する方法教えてください。
つまりこういうことか 「こんにちは」を出力するのにこんなことするってことか $array = array("あ",・・・"ん");//あ〜んを配列に格納 $hello = $array[9].$array[46],$array[21],$array[16],$array[25]; printf("[%s]\n",$hello);
100 :
98 :2009/03/24(火) 15:45:53 ID:???
>>99 ?
出力結果でパイナップルが入りません。
Array ( [0] => りんご [1] => みかん [2] => ブドウ [3] => [4] => スイカ )
>>98 ついでに答えとくと希望の値って何なのか書かないとエスパー回答待ちになりますよ
103 :
98 :2009/03/24(火) 16:11:26 ID:???
理想は [3] => パイナップルです。 Array ( [0] => りんご [1] => みかん [2] => ブドウ [3] => [4] => スイカ )
空文字は引っかかりません
preg_replaceを使用してこう書けばできる $s = "/^$/"; $r = "パイナップル"; $a = array("りんご","みかん","ブドウ","","スイカ"); $kekka = preg_replace($s,$r,$a); print_r($kekka);
106 :
98 :2009/03/24(火) 16:43:15 ID:???
なるほど確認してみます。 ありがとうございます。
>>90 日付が/区切りでも、扱えるようにしてるんじゃないの。
自分で書いてみたけど正規表現でなくてもいいみたい う〜ん、やっぱ標準関数で用意されてるものを使ったほうが開発効率も保守性も速度もいいみたいですね $dt[0] = "2009-04-01 08:40:00"; $dt[1] = "2009/04/01 08:40:00"; function date($d) { return date("Y-m-d H:i:s",strtotime($d)); } echo "<p>".date($dt[0])."</p>"; echo "<p>".date($dt[1])."</p>";
正規表現覚えたてのプログラミング初心者相手にみんなパネェっすねw プログラミング歴が上がればどういうときにどんなコード書けばいいのか分かるようになるんだからそっとしてやろうぜw
習得度が高かろうと低かろうとどうでもいいが 初心者なのに人の意見に耳を傾けないで根拠も無く自分が正しいと思ってるからだめなんだろ
煽ってる阿呆は1人なんだからもう放置しようぜ・・・
1人ってどれ?
自覚がないんですね
90のコードに嫉妬
115 :
98 :2009/03/25(水) 09:31:58 ID:???
90のコード dばっかとか意味わかんないし。 イミプーでうすぁ。
あえて言いたい
>>90 のコードはネタだろ
つられてんじゃねえよw
未定義のプロパティーはnullですが これは規定と考えていいのでしょうか?
118 :
nobodyさん :2009/03/27(金) 04:16:33 ID:Xi9/JJ4U
DBなどすべてUTF-8で構築しております。 そのうえで、xmlWriter()をつかって「EUC-JP」で XMLを書き出したいのですがどうしたらよいのでしょうか? 単にstartDocumentでEUC-JPを指定するだけでエンコードを変更できるのでしょうか? Firefoxでは表示され、safariだとエラーになってしまいます。 $writer = new xmlWriter(); $writer->openMemory(); $writer->startDocument('1.0', 'EUC-JP'); $writer->startElement('root'); (略) $writer->endElement(); $writer->endDocument(); return simplexml_load_string($writer->outputMemory(TRUE)); ちなみに各Directiveの値もメモしておきます。 mbstring.http_input auto mbstring.http_output pass mbstring.internal_encoding UTF-8 mbstring.script_encoding no value
ライブラリとかクラスファイルとか、 他のファイルを読み込むときは可読性からスクリプトの最初で読み込みたいんだけど、 ある条件下でしか使わないようなファイルをスクリプトの途中で読み込みたいときはどうしてる?
スクリプトの途中で読み込む
121 :
nobodyさん :2009/03/29(日) 04:16:40 ID:0MM+niTd
118について、気になっているオレガイル。
テーブル設計とかわけがわかりません。 楽天・DMMなどを見ても全くその構造がわかりません どうしたら こういう構造について強くなれるでしょうか おすすめの書籍やページなどあればお願いします php中級者です
つ教科書
124 :
122 :2009/03/29(日) 13:51:43 ID:???
>>123 どの教科書ですか?
教えて下さい。当方PHPしかやったことないですが
アルゴリムズなど こういうWEBのアルゴリズムについて
良い本とかページ無いですか
調べろよ
126 :
122 :2009/03/29(日) 14:19:21 ID:???
わからないんです 早くして
調べろよ
128 :
122 :2009/03/29(日) 14:21:20 ID:???
早くしてください
正規表現くんがいま調べてるから黙って待ってろ
$_login->authorize(); だけでどうして ユーザ認証ができるんですか?
authorizeメソッドにユーザ認証機能が実装されてるからだろ
authorizeメソッドって何? ぐぐってもわからない
public function authorizeで定義したメソッド
ん、その定義しましたってのはどこのファイル見たらわかるの?
PHPマニュアルでauthorizeで検索しても出てこない・・
ないもんは出てこない仕様です
$_login->authorize(); これ 変数_login > authorize(); に見えるんだよな
あぁそうか ユーザー定義関数だからないのかな ただこのフォルダのスクリプトの中にどこにも function authorize() { 処理に必要なプログラム } がないんだよね
あるよ 関数じゃなくてメソッドだけどね
おおお さらに深くgrepしたら出てきた $_login->authorize(); // ユーザ認証 ん、これって自動的にauthorizeメソッド検索してできるんだ〜
どんだけ浅くgrepしてんだYO
いやそれ定義じゃなくて実行じゃん
$_login->が何を表してるかがわからない authorize(); はpublic function authorize(){}を探しそこにフォーカスを動かすって事かな
全然ちゃうわ
せめてググッタラわかるようなキーワードを教えてくれ
つ公式マニュアル
そろそろ俺に答えられそうな質問を出してくれないかな
そうなんだ・・・すまん
質問です。 CentOS5.2 + Apache 2.2.3 + PHP5.1.6という環境で 趣味のホームページ作りをしています。 ドキュメントルート /var/www/html/ 直下にPHPフレームワーク(CakePHP)を インストールするとウェルカムページ(スタートページ)も問題なく表示されますが、 Virtualhost 機能を使用し、/var/www/html/TEST/ をバーチャルホスト のドキュメントルートしてウェルカムページを表示すると、なぜかエラーが出ます。 エラーの内容 Warning: touch() [function.touch]: Utime failed: Operation not permitted in /var/www/html/TEST/cake/libs/file.php on line 130 いろいろ調べるとパーミッションがらみの問題であるとのことなので、 chmod -R 777 /var なんていう無茶なことをやってみましたが、それでも 改善しません。 ちなみに、上記の問題はWindows上のxamppで同様のVirtualhostを設定した場合は 再現しません。 何かご存知の方はいらっしゃいませんでしょうか?
ご存知だったけど忘れたな なんかカラクリがあったのは確かだ
>>53 亀レスだがこれをよく読んどきなさい
---------------------------------------------------------------------
最近のスクリプト言語は機能が多く、基本的な機能はほとんど実装されているので、
アルゴリズムをどうこうするより、どの機能を使うか選ぶ方が重要だったりしますね(コーディングの効率的にも)。
---------------------------------------------------------------------
引用:
http://ifs.seesaa.net/article/26300967.html
153 :
nobodyさん :2009/04/05(日) 21:10:32 ID:Z8UCv2WT
質問です。 UTC時間で計算したいのですが、 strtotimeやlocaltimeを使うと勝手に日本時間を参照したような値が 返ってきます。UTCのままで計算する方法教えてください。
localtimeで日本時間が返るなら勝手に変えてるわけじゃないと思うが
157 :
nobodyさん :2009/04/06(月) 11:46:40 ID:SCbGgs9l
OS:CentOS / PHP:5.1.6 / DB:PostgreSQL 質問: 現在のところテスト環境のためパスワードはrootのみしか設定していないためPHPでは host=localhost dbname=sampletabl この2つしか指定しておりません。 コードは下記のものになります。 $conn = "host=localhost dbname=sampletable"; $link = pg_connect($conn); if (!$link) { die('接続失敗です。'.pg_last_error()); } print('接続に成功しました。<br>'); パスワード等は必ず設定しなければならないのでしょうか? 繋がらない理由などがよくわからないのでそういった事を解説してあるサイトなどあれば教えて頂ければと思います。
ユーザ名とパスワード入れろよ
159 :
157 :2009/04/06(月) 12:06:33 ID:SCbGgs9l
この場合のユーザとパスはPostgreSQLの方ではユーザーの作成も何もしていないので ユーザーとして存在しているrootもしくはpostgresのどちらかってことになるかと思います。 postgresの方もパスワードは設定しておりませんので user=postgres のみか user=root password=**** になると思うのですが 一応両方試してみてうまくいきませんでした。 postgresのユーザー及びパスワードの設定は必須ということでしょうか?
テスト環境って自鯖でしょ? どうやってsampletable領域を作成したの? sampletableが作成できてるならcreate userでユーザ作成できると思うけど
161 :
157 :2009/04/06(月) 12:51:29 ID:SCbGgs9l
>>160 createuserは使用しておりません。
手順としては
su - postgresでアクセス
psql postgres でDBに接続
CREATE TABLE sampletableでテーブル作成
insert into sampletable でデータが入る事を確認
このようにしてテーブルを作成しました。ですのでcreate user等は使用せずに
テーブルを作成した形になります。
それじゃあsampletableはdbnameじゃなくテーブル名じゃん dbnameってデータベース領域だよ?
163 :
157 :2009/04/06(月) 13:59:50 ID:SCbGgs9l
>>162 すいません。回答ありがとうございます。
何か大きな勘違いをしているようです。
下記を確認しました。
-bash-3.2$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
で表示されているNameの部分がdbnameってことになるわけですよね?
ですので
host=localhost dbname=template0 user=postgres
という事になるのでしょうか。これでもうまくいきませんでしたので私の方で何か根本的に間違っていると思うのですが…
164 :
157 :2009/04/06(月) 14:08:45 ID:SCbGgs9l
すいません自己解決しました。 pg_hba.confを設定したヤツが設定ミスってました。 スレ汚し本当に申し訳ないです。
自宅サーバを立ててた時は、Linux(CentOS) 使ってたんだけど、実際にサーバを借りてPHPで作ったサイトを維持 する事を考えると断然Windowsの方が便利に感じたので Windows上でPHPスクリプトを書いてたりするんだけど、 皆さんはどちらで作業してますか? ※どう考えてもLinuxよりも便利なツールがWindowsの方が多く出ている から生産性も高いと思うんだけど。
166 :
153 :2009/04/06(月) 15:02:21 ID:krIGQs5h
>>165 開発環境は別に好きな方でいいんじゃね?
>>165 開発はwin、テスト鯖はlinux
これおすすめ
winでは動かない関数もあるからね
170 :
nobodyさん :2009/04/06(月) 15:40:36 ID:krIGQs5h
>>165 データベースを考えるとサーバー内がいいだらおう。
完全に静的なファイル(ssi)で出力する多数フォルダOKの複数ブログが 作成できるのを作ったんですが 使い道に困っています あと、1つのフォルダに2000ファイルとかになった場合 どうしたらいいですか そのジャンルのフォルダにindex.shtmlなども入っています
172 :
165 :2009/04/07(火) 03:07:41 ID:???
>>168 いや、実際のPHPを使う開発現場に入った事が無いから
開発現場でWindows使ってるところってあるのかな?と思ってね。
>>169 取り敢えず今自分は、開発はWindowsテストはレンタルサーバに
TeraTerm使って色々やってます。
>>170 ???
次の通り契約コースの異なるレンタルサーバを2つ契約したとします。 その場合、Aの場合だとPHPとDBも使えるのですが、 Bだと料金が安い分、PHPが使えるだけでDBが使えません。 そこでAで契約したディスク容量に余裕がある為、 BからAのDBを使用したアプリを組む事は出切るのでしょうか? ※今回は、さくらインターネットを想定していますが、 この様な事を全く別のレンタルサーバでも行う事は出切るのでしょうか? A: PHP5 + DB使用可能 月額1000円 B: PHP5 月額500円 あと、BからASP.net(SqlServer)様のレンタルサーバのDBだけを使用したり、 といった事もやりたいのですが出来ますか?
>>173 絶対に無理。
違うレンタルサーバでも同じレンタルサーバー内でも不可能
まぁ「DBを使う」の意味に依るんだろうけどねぇ。 AにXMLで通信するの作って、Bからそれを呼び出すって手はあるし。 それに意味があるかどうかは別にして。
>>174 データーベースのIPアドレスとパスワードがわかっていれば
できるのでは?
でもサーバーのadminが不可にしていれば、無理だと思うけど。
あと P2P的にどっかでブリッジして接続ってのも、一応可能なんかなぁ。 ますます意味はないと思うが。
TORみたいな?
180 :
173 :2009/04/07(火) 10:22:03 ID:???
>>174 、、、無理ですか。
金を節約したいので出来ればいいなぁと思ったのですが。
というか普通にクラサバとかの場合だとDBサーバとか分かれてるのになぜ出来ないんですかね。?
>>175 普通にクエリを INSERT / DELETE / UPDATEしたいと思ってます。
>>176 私も普通に考えて、DBサーバ(各レンタルサーバ)のIPアドレスとID/PASS
さへ分かっていれば接続出来る気がしてならないのです。
誰か私がやろうとしている様な事を既に実践された方とかいないですかね?
>>179 はぁ?
>>180 はあ?じゃねえぞ氏ね
人様の鯖を人柱にしてんじゃねえぞクズ
↑こっちは金払ってんだよ。屑
典型的だな
いいぞもっとやれ
>>182 貸して頂けるために金を払ってるんだろksg
186 :
173 :2009/04/07(火) 12:52:12 ID:???
で結局出来る?出来ないの? やった事ある人はいますか?
レン鯖によるのになんでここで聞くの? おまえは匿名じゃないと尋ねられないもやしか
>>186 出来るも出来ないも、そのDBサーバを管理するレンタルサーバ屋次第。
ただ、普通のレンタルサーバであれば、わざわざDBポートの開放をして
無用のセキュリティーリスクを増やしたりはしないと思うから、
一般的には出来ない。と思って良いんでは?
そもそも格安のレンタルサーバで 違うコンピュータからの接続許してるところなんて みたことないよ
ああポートをふさいでいるわけね。
>>189 サンクス
少々高いけど金出してDBも使えるサーバを借りないといけないね。
ちょっと前まで自宅サーバとかやってたんだkど、
煩いからやめたよ。
やっぱりレンタルサーバの方が安心だな。
※一通りのアプリは作れるけどセキュリティー面についてはサーバエンジニアには負けるだろうから。
一通りのアプリって何?
グーグルランク取得したいです。PHPで でも、その方法が調べてもわからないんです PHP暦は一年でそこそこです
194 :
130 :2009/04/09(木) 06:11:15 ID:???
見つかったのでもういいです ほんと、役に立たない人達。いつも俺は、あんたら初心者のために 泥の中をはいつくばるように質問に答えて、その上暴言を吐かれ それでも答え続けてるのに、情けない奴らだよほんと この程度も即レスできないようじゃ また、この時間に寝ているとの意見もあるだろうが そのような言い訳も聞く気もありません 本当に幻滅しました。能力の無い糞
130 名前:nobodyさん[sage] 投稿日:2009/04/09(木) 05:12:24 ID:??? グーグルランクをPHPで取得する方法がわかりません 131 名前:130[] 投稿日:2009/04/09(木) 05:15:38 ID:sBmn/pA0 グーグルランク取得したいです。PHPで でも、その方法が調べてもわからないんです PHP暦は一年でそこそこです
香ばしい。もう少し熟成させよう。
実務でphpを使用したWEBアプリを開発する場合の開発環境は一般的に 何が使われていますか? ※Windowsだと色々と便利なIDEが出てますけどLinuxの場合だと ExlipsePDTが一番多く使われているのでしょうか? それともエディタで開発をしているのでしょうか?
そんなの人それぞれだろ
>>198 だから実際の開発現場では何が一番使われてますか?って質問に答えて下さいな。
開発現場でも人それぞれでどれが多いってほどダントツなものはないがあえて言うなら viで開発してる人はいない ネタで掲示板で開発してるってレスしてるやつ見るが現場で一度もみたことない emacs,eclipse,がたいてい使われてる
>>193 ヒント: Google Toolbarをインスト-ルしてパケットキャプチャしてみる
おれはvimがあれば充分
>>203 本業は.Net中心に開発してます。
PHPは実務経験無いです。
俺の言動に何処か文句でもおあり?
そりゃ見込みないな
>>204 なんだ.net開発かよ
ディレクターの俺になんか文句あるか?
ディクレーターw? 敢えて言うならカスかな
【給料】 ディレクター>>越えられない壁>>開発土方 【地位】 ディレクター>>越えられない壁>>開発土方 他に何か?
【給料】 社長>>ディレクター>>越えられない壁>>開発土方 【地位】 社長>>ディレクター>>越えられない壁>>開発土方 ※俺は個人会社の代表
ばりばりVSを使用してphp開発をしているのって俺位?
あまりいないと思うけど慣れてるんなら別にいいんじゃね
>>211 自分でも多分VSでphpコード書いてる奴は少ないと思う。
でもEclipsePDT何かよりよっぽど使いや寸だけど
Meadow と cygwin でやっちゃうなぁ。 どうもデバッガとかは、コードを意味より動きでみてしまうせいか、後から見ると可読性が 落ちることが多くて、結局つかわなくなっちゃう。デバッガ使わないなら、なれたのが一番いいし。
>>212 vsは使ってないけど自分が使いやすいのが一番だよな
俺はdwで満足してる
俺はもともとJavaの開発者だったからEclipseが使いやすいんだけどね まぁひとそれぞれだわなぁ
さくらインターネットでcron(クロノ)を使用してphpスクリプトを実行しようとしているのですが いまいち分かりません。実行コマンドとしては次であっておりますでしょうか? 【登録した実行コマンド】 crontab -e Test_cron.php 【実行時間】 月 日 時 分 曜日 1 1 11 5 金 【Test_cron.php】 //動作実績にあるphpスクリプトでメールの送信を行うプログラムです。
激しくPHPと関係ない件
IDE便利だと思うけど、重いからほとんど起動しない・・・ よって秀丸ばっかり
オレ今日徹夜しちゃったぜヴェーハッハ って言ってる厨房・攻防と同レベルのDQNが沸いてると聞いてとんできますた
?≫219?
正規表現野郎が本スレで暴れてるんですけど引き取りに来てくれませんか?
223 :
216 :2009/04/11(土) 19:09:13 ID:???
相変わらずcronを実行する事が出来ません。 一体何が原因でしょうか?
PHPのアップローダーで最大ファイル制限をはずしたいと思っています。 php.ini の memory_limit = 8000M post_max_size = 8000M upload_max_filesize = 8000M 等、以外に設定をおしえてください。
>>224 php.ini以外で外せたら大変なことになりますよね
226 :
224 :2009/04/11(土) 20:44:21 ID:???
それぞれ、20Mにするとエラーなくアップできるのですが、 極端に8000Mとかに増やすとエラーがでます。
何のエラー?
phpのコードで、指定したディレクトリの中にあるファイルの数を調べようと 次のコードを記述したのですが、存在しないファイル(?)まで表示されてしまいます。 この「.」と「..」とは一体何なのでしょうか? .<br>..<br>aaa.txt<br>bbb.txt<br> $dir_file = opendir( './Test_dir' ); while( $file_name = readdir( $dir_file ) ) { print "{$file_name}<br>"; } closedir( $dir_file ); 【結果】 .<br>..<br>aaa.txt<br>bbb.txt<br> 【ファイル一覧】 Test_dir a.txt b.txt
>>228 DOSプロンプトとか、UNIXシェルでcd .. とかやったことない?
>>229 cdコマンドは使った事があります。
..
だと一つ上の階層に移動する、という意味で、.
というのはカレントディレクトリを指しますよね?
なのになぜにファイル一覧を取得するメソッドを呼び出した時に
こんな「.」や「..」が現れるのか皆目検討が付きません。
>>230 そいつらも「ディレクトリ」で、「ディレクトリ」は「ファイル」の一種だから。
そーだったのかー
>>231 さん
ありがとうございます。
「.」と「..」もディレクトリであり「ファイル」の一種だったんですね。
勉強になりました。ありがとうございました。
234 :
nobodyさん :2009/04/12(日) 18:40:25 ID:2x7CLOXE
smartyで、$test1/$test2とかの計算方法は出来るんですが、 例えば ($test1/($test2+$test3)*$test4)といった、中カッコや大カッコを使った計算ってどう記述すればいいんでしょうか? 初心者ですみません。
じゃ初心者でなくなってください
>>235 は初心者だから回答できないだけですよ
>>234 smarty使ったことないからしらねえけどそれで動かないの?
専用スレで聞けばいいのにね
>>236 できないから聞いてんだろお前ほんとアホだなぁ
なんで使ったこともないのに回答しようとするの?
自己紹介乙
初心者向けの解説本で Smartyとか紹介してるのってなんなの? 初心者にいきなりsmartyっていったって わかるわけないじゃん。
ぶっちゃけPEARって便利なの? やっぱり俺ライブラリが一番使いやすいのだが
一番使いやすいの使えばええやんとしか答えようがない
同意
自分、PEAR って未だによく分かってないんだけど、あれってコンパイラが要るの? Windowsで APC使おうとしたとき、VC++6.0 が要るとかで、結局断念したんだけど。 以前はpecl4win でバイナリ持ってきたんだけど、サイト再構築するとか言って、ずっと死んだままだし。
お前は何を言ってるんだ
PEARはコンパイラはいらないよ
ごめん、PEARとPECLは別物か。 すんません。
↑ 馬鹿発見
PEしかにてないじゃん
DBから取得した値を可変の配列に格納しようと思ってるのですが、 .NetのArryalListに似たコードはありますか?
マルチ失せろ
>>253 いや、別スレに投稿したのは俺だけど
>>252 はリアルに俺の投稿じゃないよ。
誰かがコピペしてるって
回答もらうと態度でかくなるんですね
256 :
nobodyさん :2009/04/19(日) 19:33:07 ID:gK+IYAFS
PHPでカウンター作ったんですが、カウントの記録はcount.txtといったファイルに記述してます。 ですのでファイルが破損したらアウトになるわけなんですが、破損防止として出来る対策というのはどういったものがあるのでしょうか?
flock
>>256 ダミーファイルに書き込んで成功したらcount.txtに書き込み
リネームじゃなかっけ
temp.txtに記録して、 それからcount.txtにリネームする、 ってよく聞くけど、なんの意味がある?
261 :
sage :2009/04/20(月) 09:33:36 ID:???
PHPで外部の画像を取って表示するものを作成しました。 PHP単体にアクセスをすると表示されるのですが、HTMLの中に表示すると実画像がない場合に表示される アイコンになります。 PHP(sample.php)の中に <?php print "<img src=\"sample.jpg\">"; ?> と書いた場合はHTMLには<img src="sample.php">では表示されないのでしょうか? 念のためにPHPのプリントの前に header('Content-Type: image/gif'); を置いて見ましたがダメでした。 どのようにすれば表示されますか?
262 :
261 :2009/04/20(月) 09:36:06 ID:???
すいません。書き間違いました。 ×:header('Content-Type: image/gif'); ↓ ○:header('Content-Type: image/jpg'); 表示方法をご存じの方おられたらアドバイスください。
そりゃそうだ <?php header('Content-Type: image/jpg'); print "<img src=\"sample.jpg\">"; これがimage/jpgなわけない sample.jpg自身を出力すればいいよ
264 :
261 :2009/04/20(月) 10:12:37 ID:???
>>263 レスありがとうございます。
sample.jpg自身を出力ですか?
PHPが取得する内容によってsample.jpgは毎回変わるので
htmlの中にimgタグでsample.jpgを書くってことではないですよね。
私の方で何か凄い勘違いしてますか?
うん
phpでそのsample.jpgをバイナリーモードでオープンして読み込んで そのまま出力するんだよ。
267 :
261 :2009/04/20(月) 10:47:38 ID:???
>>265 htmlにsample.jpg自身を出力すればよい
ってことになると思いますが、sample.jpg自身はPHPから引っ張ってくるので
htmlの中の記述としてはsample.phpになるかと思います。
php自身にsample.jpg自身を出力させるということでしょうか。
ファイルの拡張子を変更してみたりしましたが特に進展はありませんでした。
アホな私にもう少しだけ助言いただけないでしょうか。
本当に申し訳ないです。
一番シンプルな形だとこうか。 <?php header("Content-type: image/jpeg"); print file_get_contents("sample.jpg", FILE_BINARY); ?>
269 :
261 :2009/04/20(月) 11:26:54 ID:???
>>265-266 freadで読み込んでやれば出来るようになりました。
つまらない質問に長々とつきあっていただきありがとうございました。
271 :
sage :2009/04/20(月) 11:59:35 ID:???
横やりすんまそ
>>268 だと複数画像って表示出来ないよね
header("Content-type: image/jpeg");
print file_get_contents("sample1.jpg", FILE_BINARY);
print file_get_contents("sample2.jpg", FILE_BINARY);
この場合sample1.jpgのみ表示されるけどこれって俺のサーバーの環境に依存してる?
お前は何を言ってるんだ
HTTPを先に勉強しる
simplexml_load_fileを使ってRSSを取得しているのですが、 実行するタイミングによってなのか、 parser error : StartTag: invalid element nameが発生するときとしない時があります。 原因に心当たりがあれば教えてください。
合成したいならGD組み込んだImage〜関数使って自分でくっつける
一行で掲示板を構築するやり方教えて 一行じゃ足りなかったらもうちょっと増やしてもいいよ
改行しなければおk
以下のような配列があった場合に、 nameの値だけ取り出して新たな配列を作る関数はありますか? $arr = array( array("id"=>"1", "name"=>"aa"), array("id"=>"2", "name"=>"bb"), array("id"=>"3", "name"=>"cc") ); 欲しい配列は{"aa", "bb", "cc"}です。
PDOならfetchAll(PDO::FETCH_COLUMN, 1)で可
280 :
278 :2009/04/20(月) 15:35:47 ID:???
ありがとうございます。 追加モジュールが必要ということですね。
ボタンのnameを可変変数にして、 「このボタンが押されれば、このページを表示する」という処理を行いたいのですが、 どのようにすればできるのでしょうか?
いやDBから取得するときに工夫したほうが楽よってだけ
>>281 <form action="hogehoge.html" method="get">
284 :
281 :2009/04/20(月) 15:56:10 ID:???
説明が足りませんでした。すみません・・・ どうしてもPOSTでやらないといけないのです。 <form method="post" action="hogehoge.php"> <? $roopCnt = 3; for($i=1; $i<=$roopCnt; $i++){ $btnName = "btn".$i; ?> <input type="submit" name="$btnName" value="test" /> <? } ?> </form> このようなもので、 ・btn1が押されたら、1ページ目 ・btn2が押されたら、2ページ目 ・btn3が押されたら、3ページ目 をそれぞれ表示したいと考えています。
hiddenでいいんじゃ? <input type="hidden" name="page" value="<?php echo $i; ?>"> あとHTMLの仕様上、ボタン1つにつきformも1つね。 まぁ1つのform内で異なるパラメータ付けた複数のsubmitボタン使えたら確かに便利なんだけど。
ああごめん、もしボタン名で区別してもいいならsubmitのvalueの値でも良かったわ ----------------------------------------- <?php var_dump($_GET); ?> <form action=""> <input type="submit" name="page" value="1"> <input type="submit" name="page" value="2"> <input type="submit" name="page" value="3"> </form> -----------------------------------------
287 :
281 :2009/04/20(月) 16:15:51 ID:???
ありがとうございます! なるほど、フォームを複数使うというのもありなんですね。 ボタン名はどれも同じで考えていますので、valueの値で判別するのはできないですね。 ボタンのネームに配列を使えれば、1つのフォームでもいけそうな気がするのですが、 そういうのってできるのでしょうか? phpに手をつけはじめたばかりなので、書き方が思いつかない・・・
>>287 <form action="">
<input type="submit" name="page1" value="1">
<input type="submit" name="page2" value="1">
<input type="submit" name="page3" value="1">
</form>
if(isset($_REQUEST['page1'])){
#処理1
}elseif(isset($_REQUEST['page2'])){
#処理2
}elseif(isset($_REQUEST['page3'])){
#処理3
}
submitのnameの値で区別するのってどうなん? 個人的にはあまり好ましくないやり方だと思ってたけど
valueは日本語が入ることもあるからname使うケースもあるなあ
まぁ、普通はJSと組み合わせてやるね
292 :
281 :2009/04/20(月) 16:33:24 ID:???
JSを使うやり方もあるのですね。 288さんのやり方で頑張ってみようとおもいます。 ありがとうございました。
さっさと答えろやksdm
294 :
nobodyさん :2009/04/21(火) 02:20:57 ID:/739X32B
今カートを作ってるんだけど、質問です
やりたいことは
ttp://hoge.com/item/1111/item.php というページにアクセスした場合、動的に商品ID「1111」に一致する商品内容を表示したいです
商品IDごとにディレクトリを作ってhtmlも作るというのは現実的ではないと思い調べていたら.htaccessを知りました
そこで質問ですが、itemディレクトリに.htaccessを置いて、ディレクトリが無いので404エラーを出し
itemディレクトリに設置してあるitem.phpを表示するようにする
そのitem.phpでディレトクリ「1111」を取得して商品IDとして処理する方法って出来るのでしょうか?
出来る場合は邪道でしょうか?
>>294 数回読んだけどいまいちつかめない…
とりあえずmod_rewrite使えって事かと
すいません、考えてもわかりませんでした。 PHPでブログ自作で、カレンダーで記事のある日だけリンクを張る 仕組みがどうしてもわかりません 後日付関係全般。どのように処理してるのか、仕組みを教えて下さい mysqlでもいいです。
select distinct day(article_date) from articles where year(article_date) = 2009 and month(article_date) = 21
21じゃなくて4だった
300 :
297 :2009/04/21(火) 08:05:00 ID:???
あ、わかりました 個数とかって記録すべきか、一回一回数えるSQLで行くべきか 悩みます
301 :
274 :2009/04/21(火) 10:08:05 ID:???
すみません、274なんですけど、 わかる方いらっしゃいませんか?
エラー時のRSSデータをまず保存してはどうだろう
>>300 そういう冗長性が発生するチューニングは遅いと思ってからやった方が良いんじゃない。
適切にインデックスつければよっぽど問題にならんし。
$a='1,2,3,4,5,'; foreach(explode(',',$a) as $v) echo $v; こう書くのってどう?キモい?
コードの縮小化ならいいと思うがな 一人で使う分にはいいがいろんな人に見せるなら見栄えを取った方がいい
306 :
294 :2009/04/22(水) 00:51:27 ID:???
>>296 ありがとう
今までやってたけどうまくいきました
使ったものは$_SERVER['PATH_INFO']だけど、ここにたどり着けた事に感謝
>>300 コードは分かりやすく書いてキャッシュかなぁ
>>304 一度文字列に代入する理由が分からないが、explodeで配列にするのだから、
foreach (array(1, 2, 3, 4, 5) as $v) echo $v;
でよくね?
foreachだけ配列を使うって決まってるならそれでもいいが それだと使いまわせない
$array = array(1,2,3,4,5)でいいじゃん
PHP+MySQLで本のデータベースサイト作ろうと思っている
で、よくある「
http://x-comic.info/ 」みたいにタグの部分をクリックすれば一覧が表示されるページ作りたいんだけど、
具体的な作り方が何を見ても載ってないというか俺が無知すぎて分からないというか・・・
こういうやり方が載ってるサイトとか書籍とかってないの?
タグの部分?
エロサイトの宣伝か・・・
あー確かにエロサイトの宣伝と思われても仕方なかったなw
でも他にいいサイト思い付かなかったんだよ。
一般系のデータベースサイトで似たような構成のとこあったら教えてもらえると嬉しい。
知人に聞こうと思ったりもしたんだがここのエロ系データベースサイトくらいしか思いつかなくて聞けなかったんだわ
話は戻るけど
>>312 さんの言うとおりタグの部分(クリックすると一覧が出る)ところの作り方です
>>314 多対多の結合だからちょっと難しいかもね。
データの件数にもよるが、真面目につくろうとすると↓のような感じで3つのテーブルが必要。
books(id、 name)
tags( id、 name)
books_tags( book_id、 tag_id)
あとはセレクト文でごにょごにょ。
>>314 ドカントに広告出してる三流風俗店のHP管理乙
>>314 ありがとう、検討してみる
俺はもうちょっと勉強が必要だな
タグ名までid化する必要性って、あんまりない気がする。
なんで?
タグIDの代わりにタグ名そのまま使っても大差ないから。 っていうか、自分なら、ブック名も変更されたりかぶったりする可能性がないなら、 こっちもID化しないかなぁ。 データベース直接見た時にラクだから。 大概はインデックス貼っとけばパフォーマンスは、確保できるし。
タグ名を自然キーとしてIDにするという話と、ID化しない=主キーのないテーブルを作るという話とどっちなんだ?
うんID化とかいう俺俺用語は本質を理解してなさげが伝わるので微妙
下のソースを実行すると画像が1個しか表示されません。 readfileの部分をHTMLタグのimg srcにするとちゃんと全部表示されます。 1個目は表示されているので間違ってはいないと思いますが、 大して理解出来ていない私にどこに問題あるのか突っ込みいれてもらえないでしょうか。 header("Content-type: image/gif"); // 画像表示 for($i = 1; $i < 10; $i++){ $num = substr($count , $i , 1); readfile($num . ".gif"); }
あたりまえだろ 最終的にどうしたいのか
325 :
323 :2009/04/27(月) 15:46:02 ID:???
複数の画像をHTMLに呼び出したいです。
>>323 だとindex.htmlに表示することが出来ないのでHTMLに<img src〜といった形で
呼び出せるようにしたいと考えてます。
iframeも考えたのですがデザイン上それがダメということでどうにか出来ないものかと思ってます。
複数画像分だけimg src=〜でいいじゃない
327 :
323 :2009/04/27(月) 16:17:06 ID:???
>>326 画像は日によって表示されるものがかわるので
HTMLにimg srcで固定してしまうわけにはいかない状態です。
またHTMLにimgタグでphpを指定しても1個しか表示されないので
複数画像分の指定がどのようにすれば出来るのかが分からない状態となっております。
何か疲れるなあ 変更できないhtmlファイルの中に可変個の画像を置きたい、ということでいいのか?
329 :
327 :2009/04/27(月) 17:14:43 ID:???
>>328 はい。
説明がへたくそで申し訳ないです。
img src=〜を書き出すPHPをincludeすればいいんでないの
まあどっちにしても1個のIMGタグで複数画像を表示するのは無理。 方法としては、複数の画像をPHPで1個にくっつけて出力。 IMGタグを複数書く手段を考える。 のどっちか。 IMGタグをPHPの出力で複数にしつつ、SRC="xxxx.php?param=1"とかやればいいように思うけど
332 :
327 :2009/04/27(月) 17:42:52 ID:???
HTMLにincludeとなるとSSIのincludeで埋め込むという事でしょうか?
実際に試してみましたがうまくいかないようです。
今だに
>>323 のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
>>332 includeについては、HTML側を.phpにしてincludeすれば良いだけよ
PHP入門サイトを適当に流し読みして、
せめて何が出来るのかを理解してみたほうがよい
>>332 >今だに
>>323 のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
コーラを飲んだらゲップがでるるくらいあたりまえなんだが
HTML自体わかってないのか
Googleとかで適当に検索して ”この先を見るにはログインする必要があります” ってサイトに巡り合ったとします。 それでGoogleにあるキャッシュってを押しても中身を見れず ログインする必要がありますって言われるのはなんでですか? GoogleのROBOTがそのページを収集してると思うんですけど PHPでは何の関数を使ってるんですか?
はい? 上:クローラーがログインできるわけないから 下:GoogleがPHPの何の関数を使ってるかということ?
質問です。 foreachで値を.","で区切って 12,14,33,11,18, ってなるまではいいのですが、最後の値18の次の","は消すことできますか? 12,14,33,11,18 にしたいのですが、お願いします。
implode(',', $array)とか
>>338 解決しました。thank you so much
340 :
nobodyさん :2009/05/02(土) 11:01:45 ID:V+mNLWbo
PEAR:Net_IMAPで、 PHP上で生成したメールメッセージをGmailのINBOXに保存したいんだけど、 mail_composeとかmove関数が実装されてない?
341 :
nobodyさん :2009/05/02(土) 11:36:05 ID:V+mNLWbo
自己レス。できた。
PECLで魅力的な関数があるけど みんなPEARとか使ってんの?
343 :
nobodyさん :2009/05/02(土) 21:20:35 ID:+TEZ3ZO9
お願いです。教えてください。 smartyで年月選択のセレクトボックスをつくりたいのですが、リストの内容を、「現在の年からさかのぼって30年」というふうにしたいのです。 また、それとは別に「現在年から3年後」までのリストも表示したいです。 どこに何をいれれば表示できるのかさっぱりわかりません。 よろしくお願いします。 Apache 2.2.11 MySQL 5.1.33 PHP 5.2.9 です。
誘導厨 ↓
問い合わせフォーム等を、ググりまくりながらギリギリコピペなしで自作できるようになったレベルの準初心者です 今参考にしてるソースに一見簡単そうなのに未知の記号が出てきて、完全読解不能に陥ってます ググりたいんですが何でググればいいか手がかりがなくてちょっと質問させてください $number = ($_GET['n']) ? $_GET['n'] : count($r->getItems()); この行の「?」と「:」と「->」はいったいPHPの何を勉強すれば出てくるんでしょうか この行が何をしてるのかわからないばっかりに変にいじってAnhttpdが強制終了しまくりますw
三項演算子とアロー演算子
348 :
346 :2009/05/03(日) 07:49:18 ID:???
ありがとうございます ひょっとして三項演算子ってifとelseでいいんじゃとか思うのは素人だからですね・・・
>>345 ありがとうございます。
実はここに書き込む前にこのページを検索して見つけてはいたのですが、どうやって記述すればよいのかまったくわかりません。
ためしにsmartyのなかに{html_select_date}とかいてみましたがそのまま出てきてしまいました 汗
まったくのど素人で申し訳ないのですがよろしくお願いします。
>>349 別にif-elseでいいよ
三項演算子は可読性が悪いから
会社とかだと大抵コーディング規約で禁止されてる
変数に入れられるのは結構いい場面もあるけどね
例にもあるように$_GETや$_POSTなんかをセットするときには便利
351 :
350 :2009/05/03(日) 10:31:06 ID:???
三項演算子なんてほとんどの言語に用意されてるわけだしわざわざ禁止する会社があるのか?
三項演算子を入れ子にされるとわかりにくくなることはあるなw
なんとか試行錯誤して表示することができました。 これって平成〜年とか昭和〜年とか表示するドロップダウンリストをつくることはできないのでしょうか?
>>352 グループで開発するってのはそういうことなんだよ
複数人で作業するときとかスクリプトを縮小化とき以外に三項演算子使うやつはバカ
w
そろそろ話し控えないと参考演算子クンが荒らしに変貌しそうだよ!
参考演算子てwwwwwww
三項演算子を規約で禁止しちゃうような会社はいろんな意味でダメだろうなぁって気はする。 まぁバカでも組めるものを組ませるって考えはあるんだけどさ。
確かにドカタの監督からは嫌われるだろうね。
CSVにデータを書き出すスクリプトで、一行終わったら改行が入るようにしているんですが、 処理の途中で止まって(とめて)改行が行われないことがあります(あるとします)。その時に、ファイルの最後に 改行が入ってないことを検知して、改行をした上で新しいデータを次の行から作りたいんですが、 改行の有無はどうやったら検知できますでしょうか?今使っているエディタ(EmEditor)では 「↓」という記号で改行がマークされ、ググったりしましたが、どうしていいものやらよく わかりません。 1,2,1,2,3,2[改行] 1,1,1,2,3,3[改行] 1,1,2,[処理ストップ、改行なしの行] <-- [改行]が無いことを検知して改行追加したい 常に改行を冒頭に入れるようにすると、データのない行ができて、のちのち面倒なので、 それは避けたいと思っています。
\n
366 :
364 :2009/05/03(日) 21:43:26 ID:???
fseek($file, -4, SEEK_END); $string = fgets($file, 1000); var_dump($string); dumpしても改行部分は空白になりますよね。 例えば、検索かけて、"\n"でマッチするんでしょうか?
367 :
364 :2009/05/03(日) 21:56:26 ID:???
マッチしますね。失礼しました。m(._ _)m
368 :
nobodyさん :2009/05/04(月) 13:26:07 ID:0LqkTRhF
POSTで送った引数がIE6,7では表示されない firefoxでは表示されてる。。。 php.iniの設定変更がいるのですか?
いらん
370 :
nobodyさん :2009/05/04(月) 13:53:15 ID:0LqkTRhF
ある掲示板でvariables_orderを「EPGS」にすればとありましたが、 それでも表示されないまま。 HTMLやCSSの問題ですか?
>HTMLやCSSの問題ですか? それ疑う前に ソースみて反映されてるかどうか確認してみなよ
372 :
nobodyさん :2009/05/04(月) 14:22:28 ID:0LqkTRhF
list.phpからdetail.phpにsubmitしてます。 ソースは以下です。 「list.php」 <html> <body> <form action="detail.php" method="POST"> <input type="image" src="img/detail.gif" name="submit" value="0001"> </form> </body> </html> 「detail.php」 <html> <body> <p>詳細情報</p> <?php print "submit:".$_POST["submit"]."<br>"; ?> 取得情報: <?php print $_POST["submit"]."<br>"; ?> </body> </html>
IEでは位置情報しか送られん
374 :
nobodyさん :2009/05/04(月) 15:14:34 ID:0LqkTRhF
解決しました type="image"でなく、hiddenでPOSTしたらうまくいきました phpinfo()で表示された値は位置情報だったんですね
phpinfoで出るっけ?
DBのログを取りたいのですがどうすればいいですか? よく不正アクセスの痕跡を見つけた と言ってますが・・・
二つの文章があります (☆)(★)(◇) (☆)(★)(◇) (★)の部分は文字列、文字数共に不確定で1,2共に全く違う文章です。 (☆)(◇)の部分は文字列、文字数共に不確定ですが1,2共に同じ文章です (★)の部分のみを切り取りたいのですがどうすればいいでしょうか?
すみません番号を振るのを忘れていました (☆)(★)(◇) (☆)(★)(◇) ↓ 1.(☆)(★)(◇) 2.(☆)(★)(◇)
>>379 文章が二つあってどこが変更されたか検知するプログラムを作る場合どうすればいいでしょうか
>>380 ありがとうございます!!こんな感じです
>>380 やっぱりこれじゃダメでした
改行していない場合同じ文字列の部分も違う物として取得されてしまいました
改行していない文章の差分を取得したいのですが無理でしょうか・・・
たとえば
aaabbccc
axxaabbbccac
の二つの文章があった場合
xxとbとaを取得したいのです
すみませんやっぱり大丈夫かもしれませんw 全て1文字ずつの配列にしたらしっかり判定されました お騒がせしてすみません
PDOを使って MYSQLからデータ表示するコードください?
>>386 ありがとうです
あと、実行時にApache HTTPサーバーと表示させ落とされます
どうすればいいですか?
Apache のログ見ろよ
>>388 ! ありがとうです
なんとかできそうです
390 :
nobodyさん :2009/05/06(水) 16:48:50 ID:GdRs26+o
外部サイトからLZHファイルを取得して解凍、内容を取得したいのですが、うまくいきません・・・ $url = 'xxxxx'; //ファイルのURL $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); $filename = $path . 'test.lzh'; file_put_contents($filename, $data); exec('lha e ' . $filename); こんなかんじなのですが、 ファイル取得まではできているのですが、 解凍ができません; どこがおかしいのでしょうか?
>>390 lhaにはパス通ってるの?
execの引数でフルパスで指定してみては
393 :
390 :2009/05/06(水) 17:32:18 ID:GdRs26+o
>>392 レスありがとうございます。
展開先を指定したらちゃんと解凍できました;
スレ汚しすみません;;
せっかくなので聞きたいのですが、
外部からのファイル取得方法は上記でよいのでしょうか?
いちど変数に格納してfile_put_contentsで書き込むというのがなんだか回りくどい気がするのですが、
ほかに方法がありましたら教えてください!
そらまあローカルの実ファイルが無いと無理だからなあ。 組み込んでメモリストリームから、、、とかはこのスレの範囲外かな
一旦、全部メモリ中に展開するってのはどうなんかね。 fread/fwriteを繰り返した方がいい気もするが。
396 :
nobodyさん :2009/05/06(水) 23:04:45 ID:XF4iBoH0
MySQLでテーブルを作ったとき確認する方法は PHPで記述する場合mysql_resultでいいのでしょうか?
$data = array( 'hoge' => 'hoge', 'fuga' => 'fuga' ); $data = array( 0 => array( 'hoge' => 'hoge', 'fuga' => 'fuga' ), 1 => array( 'hoge' => 'hoge', 'fuga' => 'fuga' ) ); このような配列を、前者のタイプか後者のタイプか判定したいのですが、 どのような方法が考えられますでしょうか? よろしくお願いします。
前者のタイプか後者のタイプかってどういうこと?
2次元配列かどうかってことだろ?
400 :
397 :2009/05/07(木) 12:28:43 ID:???
>>398 >>399 説明が足りず申し訳ありません。
2次元配列かどうか、というか、
1次元目(?)が連想配列なのか、単純な配列なのかを調べたいのです。
現在は、
if ( isset ( $data[0] ) )
だったら、後者というように判定しているのですが・・・
ループでキーに数値以外が含まれてるかどうか判定するだけじゃん プログラマーならすぐ思いつくと思うが・・
>>402 だからキーが数値のみで
構成されているかどうかを
調べたい、ってことだろ?
専用関数あるだろ。
405 :
397 :2009/05/07(木) 13:25:50 ID:???
>>401 それはもちろん思いついたのですが、
もう少しスマートな方法はないかと思いまして・・・
return array_keys($array) !== range(0, count($array) - 1);
こんな方法があるのを知ったのですが、
これだと、
$array(
0 => 'hoge',
2 => 'fuga',
3 => 'piyo'
);
のように、配列が歯抜けになっている場合に一致しなくなりますし・・・
>>403 専用の関数とは何のことでしょうか??
きみの言うスマートな方法ってのは明確で解かりやすいというより 制御構造使わないような方法のこと?
クラスってのがなかなか理解できません どなたか詳しく解説してくれませんか?
どこが分からんの?
このスレの先輩方はhtmlは得意でしょうか?
おうよ
ほんとかよwwwwwwwwwwwwwwwwwww
413 :
410 :2009/05/07(木) 23:34:13 ID:???
僕は一応html4系とxhtml1.0と1.1で、しかもstrictとtなんちゃらで使えるタグと属性を口頭で全部言えるぐらいの知識しか持ちません xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です
じゃ言ってみてくれ
415 :
410 :2009/05/08(金) 00:13:27 ID:???
416 :
410 :2009/05/08(金) 00:14:07 ID:???
ちなみにhtml4.1 strictとxhtml1.0 strictで使えるタグは同じです
はよ全部言えよ
なんだよ質問じゃなくただの知ったかかよ
4択問題をcsvに記録していくスクリプトを作っています。 csvに下のように書き込まれるようにしています。 名前,答え,答え,答え,答え,答え,(改行) 名前,答え,答え,答え,答え,答え,(改行) 名前,答え,答え,答え,答え,答え,(改行) 複数の人が同時に行うと、下のようにデータが混ざってしまいますよね? Aさん,答え(Aさん),[Bさん参入で改行] Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん), 実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか 教えていただけますか。 そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。
flock
>>419 コード書いてもらわないと的を得た回答はでないよ
以前$_SERVER["DOCUMENT_ROOT"]のことでググったときに DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。 とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは 危険な可能性もあるんでしょうか。 $rootPath = $_SERVER["DOCUMENT_ROOT"]; $a = $rootPath."/sample"; <base href="{$rootPath}"> また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?
aru
そのDOCUMENT_ROOTの値が実際の値とは違う場合がある事例を知らないけど その事例がわかれば対応できないか?
DOCUMENT_ROOTって、 public_htmlとか、 htdocとかのこと?
>>425 知らない奴に聞いてねえよ
ロムってろks野郎
427 :
419 :2009/05/10(日) 00:07:59 ID:???
概略はこんな感じです。最初のifで名前の処理をした後は、最初の問題提示が 一番下のelseから始まり、まず二つ目のifに入り、その後は最初のelseの中をぐるぐるやって、 問題がなくなったら終了するような仕様です。今のところflockはあてずっぽうに入っている状態です。 15問あったとしてAさんがそれを終えるまでのすべてにろっくをかけておかないといけないのでしょうか。 複数の人が同時に問題を解けるようにしたいのですが。 if($_POST["id"] =="999"){ $file_name = "record.txt"; $file = fopen($file_name, "a+") or die("OPENエラー $file_name"); flock($file, LOCK_EX); 中略(解答者の名前の書き込み) fputs($file, $time); flock($file, LOCK_UN); fclose($file); } if (is_numeric(@$_POST['answer']) || $_POST['id'] == "2"){ $file = fopen($file_name, "a") or die("OPENエラー $file_name"); flock($file, LOCK_EX); if(intval(@$_POST['k']) == "0") { 中略(正誤判定) fputs($file, $string); flock($file, LOCK_UN); fclose($file); 中略(問題提示とPOST) }
428 :
419 :2009/05/10(日) 00:11:40 ID:???
スクリプト後半です。長いので細かいところは省略してありますが、 本物は期待通り動くことは動きます。 ********** else { $file_name = "record.txt"; $file = fopen($file_name, "a") or die("OPENエラー $file_name"); flock($file, LOCK_EX); 中略(正誤判定) fputs($file, $string); flock($file, LOCK_UN); fclose($file); //////全問終了 if($question[0] == ""){ echo "<br><br>終了です!"; 中略 $file_name = "record.txt"; $file = fopen($file_name, "a") or die("OPENエラー $file_name"); flock($file, LOCK_EX); $string = $array.","; $time = $time."\n"; fputs($file, $string); flock($file, LOCK_UN);//同時アクセスを防ぐロックを解除 fclose($file); } else{ 中略(問題提示とPOST) } } } else { $fname = "voc.csv"; $data = file($fname); 中略(問題提示とPOST)} }
>>427 マジレスするとflock($file,LOCK_UN)はいらない
なぜならfcloseでファイルが閉じられるから
>>427 > 複数の人が同時に問題を解けるようにしたいのですが。
全問終了時だけファイル操作(とロック)すればいいと思うんですよね。
431 :
419 :2009/05/10(日) 07:43:14 ID:???
>>429 ありがとうございます。
>>430 ありがとうございます。
そうですね。最後に一気に書き込む仕様にしておけばいいですよね。
今の仕様ですと、最初のelseの中でぐるぐると出題するごとに
各問題に対する回答者の答えを一つ一つ書き込む
仕様なので(<私の理解が間違ってなければ)、おそらく複数の人が
回答すると419のようにデータ混じるのではないかと思っています。
途中の回答を回答者ごとに一時的にどこかにためておけばいいんですね。
テンポラリーファイルを回答者ごとに別々に作成して回答を一時的に格納し、
最後にひとつの記録用ファイルに書き込むというのを今考えたんですが、
これどうでしょうか、他にもっといいやり方があるでしょうか?
432 :
nobodyさん :2009/05/10(日) 12:07:35 ID:glvoYFM0
掲示板の親記事にコメントすると その親記事にコメントが表示されますが これってどういうアルゴリズムなんでしょうか?
全てはデータ構造 データ構造が決まればそれに合わせてプログラムがコーディングされるだけ。
434 :
nobodyさん :2009/05/10(日) 20:17:25 ID:kteLIAQk
携帯電話で対応機種を判別するWebページをphpで作っています。 エラーは出ずに動作はしたのですが、対応機種に一致しているはずなのに 一致判定を通ってくれません。 判定条件が間違っているのかもしれませんが、自分ではさっぱりわからないので ご指摘を頂ければと思います。 【test.php】 <?php $userAgent = $_SERVER['HTTP_USER_AGENT']; $deviceList = file("DeviceDisplay.csv"); foreach ($deviceList as $key => $value) { rtrim($value); list($name, $agent) = explode(',', $value); print $name."<br />"; print $agent."<br /><br />"; if ((strstr($userAgent,$agen))!= false){ print "おk"; break; } } print $userAgent."<br />".$agent; } 【DeviceDisplay.csv】 903i,D903i よろしくお願いします。
$value= rtrim($value); じゃないか?
$getUA = $_SERVER['HTTP_USER_AGENT']; $f = file("DeviceDisplay.csv"); foreach ($f as $k=>$v){ list($name, $ua) = explode(',', rtrim($v)); if ($getUA == $ua) {echo "csvに記録されてました";} }
> if ((strstr($userAgent,$agen))!= false){ $agent なんかいろいろあるな
440 :
434 :2009/05/10(日) 20:55:16 ID:kteLIAQk
>>435-439 ご指摘ありがとうございます!
今回は自力でやりたいのでがんばってみます。
改行を消したのにそれを代入してないのと、
==で判定、そして決定的な綴りミスですね・・・orz
以上を踏まえてリベンジしてきます。
1.ファイルがない時は作成し、ある時は追加モードでオープン。 2.ファイルが新規作成された時は、chmod 0666 という処理をしたいです。 fopen($filePath, 'a')でファイルオープンした時に、 新規作成されたかどうかが分かれば簡単にできると思うのですが、 できません。 どのようにすれば目的の処理ができるでしょうか?
file_exisitsでだめなん?
chmodで失敗したらファイルがないでいいじゃん
マジレスするとファイルの作成&書き込み時にfile_exisitsなどはやめた方が良い
flockと組み合わせればfile_exisitsはアリかと
>>445 chmod するしないぐらいなら、そんなに神経質にならなくても良いと思うが。
>>446 ファイルがあるかな?
ファイルがないなー
よーしファイルをつくるぞー
ちょーーとまったーワシが先にファイルを作るでぇ〜ゲヘゲヘ
よっしゃーワシが先にファイル作成完了〜〜大勝利〜〜〜
、、、さーーって、さっき調べた時にファイルなかったから、作るかな,,,
作成、っと、、、ん?今、なんか、違和感を感じたが、、、、なんだったんだ???
file_exisits使うのはネタに見えてしまうw
file_existsの何が悪いのかkwsk
>>448 今回はaモードでopenだから関係ないじゃん。
俺的にはスクリプトでパーミッションを弄る動作はダメコードだと考えている
だからfile_existsの何が悪いのよ 適当なこと言わないでよ
別にいいやん。 ただWindowsだとchmodできんのはチト不便。
>>453 まず貴様がfile_existsって問題ない理由を述べればいいよ
>>455 マニュアルに使用上の注意について書いてないじゃない
また荒らしかよ
0666ってことはログファイルか
なんだってー
結局file_existsが駄目な明確な理由を誰も上げられないんですね 2chなんて所詮口だけ野郎ばっかりか・・
何を今更
>>460 ホント期待できなくなったね。
昔と違って、OK waveとか知恵袋とかあるし、まともな連中はそっちの方を見てるのかな。
>>460 このスレにはニートとフリーターしかいないんだからしょうがないよ
それにPHPはバカ専言語だから優秀な人間は興味を示さないし
>>463 たしかにPHPなんて使えても所詮WEB開発が関の山だからねw
そのWEB開発にしても最近はRubyとかPythonが台頭してるわけだからPHPを好んで使ってる奴は
アレとしか言いようがないね
何を今更
とまぁここまで全部
>>460 の自作自演なんだけどね
どこでRubyとPythonが台頭してるんだ?
>>467 お前の知らない外の世界でだよ
まったくこれだから警備員は(ry
じゃちょっと示してみ
釣られてソース厨出現ww
>>460 仰る通りニートとフリーターの憩いの場なんで帰っていただけませんか?
>>460 じゃあこのまま使い続けてください
誰も止めはしませんので^^
過疎杉sage
可変変数って大抵他の書き方した方がスマートでわかりやすいソースになると思うんだけど、 一体どういうときに使えばいいのだろう?
>>475 特に使う必要はない。
perlであったから、いれてみました、ってだけ。
>>476 じゃperlではどのように使われてるの?
お前は知らないんかw
>>475 配列をextractで展開するのと似たようなことが出来るかな。
$arr = array('a'=>'b', 'c'=>'d', 'e'=>'f');
foreach($arr as $key=>$value){
${$key} = $value;
}
んで、最終的に例えばテンプレートファイルを
include 'template.html'
とか呼んでやれば、テンプレート内で展開した変数を使えたりとか?
これだけだったらextractすればいいけど、配列のキーの特定の文字だけ展開したくない場合とか、
(例えば、先頭がアンダーバーで始まってるものは展開しないとか)
条件をつけて展開できるかな。
本日も過疎。 最新50に1週間も前のレスが表示されるってどんだけww
この板ではよくあること
俺が常駐してるスレなんて連続20レスほど保守あげ しかも俺の
本番マシンで、エラーを表示させたくない場合、 ini_setと error_reportingと どっちを使うの?
display_errorsじゃねーの?
display_errorsってディレクティブでしょう? ディレクティブってphp.iniにしか設定できないんでしょう? レンタルサーバーなので、pnp.iniはいじれない環境です。 なので、php.iniをいじらなくてもできる方法を教えてください
じゃhtaccessでok
489 :
名無し募集中。。。 :2009/05/18(月) 03:28:45 ID:wP2DRNT9
ini_set('display_errors','on')
情報小出しうぜえ
小出しにしたほうがなんだかミステリアスでいいじゃないか
>>490 自閉症のあなたがたの
質問能力を鍛えてあげているのです。
営業にまわったとき、
「情報の後だしウゼエwww」
とかって見込み客に言うんですか??
494 :
名無し募集中。。。 :2009/05/18(月) 20:53:48 ID:wP2DRNT9
今決まってることを先に全部伝えれば余分な工数が圧縮できるので 納期も見積もりも低く抑えることができるわけで 積極的な答えを引き出したいなら客も小出しにはしないけどな
>>494 それであなたは営業に回ったときに、
「情報の後出しウゼエwww」
とかって見込み客に言ってるの?
<a href="XXX">vvv</a> これで、XXXにユーザーからの入力値を入れるんだけど、 javascriptのコードを書かれると そのまま実行されるんで、 サニタイズしたいんだけど、専用関数あるの?
サニタイズ言うな
499 :
名無し募集中。。。 :2009/05/18(月) 21:47:19 ID:wP2DRNT9
>>495 「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど
<a href="javascript:[ここにjavascriptのコード]">vvv</a> こう書かれると、htmlなんとかでは サニタイズできないでしょう? だからjavascriptって文字をかけない ようにしなければならないんだけど、 これって正規表現使ってゴリゴリ書かないと だめなの?
error_reporting(0); これって使わないの?
>>502 実際にそこに何が入るのか知らんが、入力値を分解してURL作ればいいだけの話じゃないの?
ログファイルの中味を見られないようにするために、 拡張子を.phpにしようと思います。 これだと、たとえブラウザで直接ファイルを指定しても、 拡張子が.phpなのでPHPファイルとして実行しようとするので (そして中味はPHPのスクリプトでなくて単なるテキストファイルなので) 見られないというわけです。 でもパーミッションが書き込み可能になっていると 問題ありますか?
ドキュメントルート外や.htaccessでアクセスできないようにする方が吉 拡張子phpは最後の手段
>>505 発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。
508 :
名無し募集中。。。 :2009/05/19(火) 03:02:13 ID:qJyAGOVK
PHPは<??>で囲まない部分はHTMLと同じ扱いだからなw
>>495 素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。
php_browscap.ini は商用利用可能なのでしょうか。 その他の制限があったりしないか不安なので質問です。 よろしくおねがいします。
教科書に、 「 magic_quotes_gpc がONになっているときは、 stripslashes を使ってエスケープを取り除く」 と書いてあるのですが、そんなことをするよりも、 ini_set とかで、 magic_quotes_gpc をOFF にするほうが いいのではないですか?
513 :
422 :2009/05/23(土) 14:25:12 ID:???
>>484 に遅レス便乗で、今のレン鯖で.htaccessは使えますがOptionsディレクティブが使えないので
ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。
ん名前欄は関係ないです。すみません。
515 :
名無し募集中。。。 :2009/05/23(土) 14:27:44 ID:sw/qjhoP
ini_setを最先頭行に書けばいいだけだと思うが
>>515 そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。
PHP前ならPHPのエラーはでないと思うが
データベースのエラー文がそのまま表示されてるサイトとかもあるし そこまで気にしないでも
519 :
名無し募集中。。。 :2009/05/23(土) 16:00:00 ID:sw/qjhoP
流石に本番運用では気にした方がいいと思うが
携帯で画像をランダム表示したいのですが どのようなスクリプトが使えるのでしょうか?
業者に1万円払って作ってもらえ
今なら俺が9980円で
session.use_only_cookiesが0の場合、 URLにセッションIDが含まれてしまうので セキュリティ的に、危険です。 なのでこれを普通は1にすると思いますが、 それはphp.iniを編集できる場合のみです。 レンタルサーバーなどでは、php.iniを編集 できない場合も多いです。 その場合は、session.use_only_cookiesの値を 取得して、それが0なら1にする、と 自分でPHPスクリプトの先頭に書くのでしょうか? でもそれで間に合うのでしょうか?
http://phpc2.seesaa.net/article/52425834.html 例えばこのページだと、
ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );
こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?
ini_setじゃなくてphp.iniで設定しとけよみたいな
クッキーもヘッダ部に平文で流れてるだけだろ これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ
URLはそれをブックマークしたり知らずに晒したりできるからまた違うんじゃないの
セッション要るようなエリアはhttpsにしとけばいいだけの話
いやブックマークとかURL流出はHTTPSだからとかいう問題じゃないだろ
セキュリティの話をすると ついてこれないヤツが必ずいるよね 高卒なのかな?
「外出するときは、必ずドアにカギをかけましょうね」 . 「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ だからいちいちかける意味ないよ」
httpsにしなくていいって話じゃなくてhttpsにするだけじゃ不十分って話だろ
<a タグや、<imgタグのsrcにjavascripの
コードを直接書かれると、そのまま実行されてしまいます。
なので、javascriptをサニタイズする必要があるのですが、
ググって出てきたページに
http://php-web.net/security/sanitize.html a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。
if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}
----------------------------------------------------
と書いてあるのですが、このコードでサニタイズできますか?
正規表現は使わなくてもいいの?
こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。
htmlspecialcharsでいいだろ
出てるよ
537 :
nobodyさん :2009/05/25(月) 03:23:54 ID:aHvsLNiK
simplexmlで下記xmlのstartTimeを取得するにはどうすればいいでしょうか? <entry> <gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'> <gd:reminder minutes='10' method='email'/> <gd:reminder minutes='10' method='alert'/> </gd:when> </entry>
$xml = simplexml_load_file('hoge.xml'); var_dump($xml); してみれば分かるよ
ini_set('magic_quotes_gpc', '0'); このやり方でオフにするのって phpのバージョンが4.2以下でないと 使えないの?
いや? そんなことないけどなんで?
アクセスログ等から アクセスしてきたやつの コンピューター名抜くのって どうやってたの?
User Agentの話?
ウィンドウズなら同じワークグループだったらコンピュータ名抜けそう
特定のディレクトリ$dirの中でもっとも作成日付が新しいファイルのファイル名を取得したいのですが、 globでディレクトリ内の一覧を作ってfilectimeで作成日付を取得して・・・えーとえーと・・・と考えたものの、 「あれ?このあとどうしよう」となってしまいうまくコードにまとめることができません 良い方法はないでしょうか PHP5
ソート
$last = new SplFileInfo(null); foreach(new RecursiveDirectoryIterator('target') as $entry) if($entry->isFile() && $entry->getCTime() > $last->getCTime()) $last = $entry; こんなんとか。
551 :
548 :2009/05/26(火) 18:32:03 ID:???
>>550 うわ〜一回で動きました
PHP5で実装された関数まだ使い慣れないんで初めて見ました
ありがとうございます
たまたまディレクトリ内の、取得したいファイル群の名前が全部日付なので、
これの応用で作成日付順じゃなくて名前の順で一番遅い(=新しい)ものを
取得できるんじゃないかと改造してるんですが私には不可能でしたw
メールフォームから送信してるんですけど相手に届きません ローカルサーバです PHP.iniのどの設定を変えたらいいですか?
ローカルアカウントには届くってんならOP25Bでググれ
それって自分のISPの回線の SMTPサーバー経由でないと メールを送信できないってやつ?
>>554 いえ、違うんです
レンタル鯖だとできたんですけど・・・
レン鯖だとOKで自宅鯖だとNGって間違いなくポートブロックだろ プロバイダのヘルプをサブミッションポートで検索してみ
$filename = $month."/".$day.".csv": $data = @file($filename); PHP5でローカルのWindows機でテストしているのですが、上のように下位フォルダにあるファイルを開こうとすると失敗します。 ディレクトリを表す"/"の部分がWinだと\だからだと思うのですが、そもそも根本的に"/"で変数を繋ぐのが変なような気もします。 サーバー上でもローカルWin機でも動くようにできないものでしょうか。
ごめんなさい、自己解決しましたw $が間違って&になってましたw 切腹してきますw
>>552 自宅ってどうせ窓でしょ?
「windows php mail」でググって味噌。
JISの漢字コードから 3021 → 亜 のように、実際の文字を表示するには、 どのようにしたらよいのでしょうか? よろしくお願いします。
JISコードの場合、エスケープシーケンスで漢字であることを知らせないといけないから echo "\x1b\$B",pack('H*', 3021);
562 :
560 :2009/06/01(月) 21:29:46 ID:???
>>561 できました!
ありがとうございます。
こういうことって、どこで覚えるんでしょうか?
>>562 今のお前さんのような状況に陥ったときに覚える。
人に聞くか自分で調べるかの違いはあるけどな。
564 :
nobodyさん :2009/06/07(日) 01:18:31 ID:q/9VwFhz
SSLを使って「login」というディレクトリをSSLのみの接続にしていますが、 loginディレクトリ内のリンクで<a href="../index.html">とするとhttpsのまま 階層が1つ下がるだけとなります これをhttpにする関数はあるのでしょうか?
565 :
名無し募集中。。。 :2009/06/07(日) 01:42:48 ID:kkylNn0/
ない
PHPって同じことやるのにも複数の似通った関数があるイメージがあるんだが、 コレとアレならこっち使うのがイイ! みたいなベストプラクティスとかある?
あるよ
>>566 よくあるのが
is_nullを使わないで、 $hoge === null で評価したほうが早いとか
正規表現で評価できるsplitを使うより単純に「,」とかできりたいならexplodeを使ったほうが早いとか
おれが作るから半年待て
バッファの意味がわかりません>< どなたか親切な方^^いないでしょうけど教えてくdさい!
ゴミを一粒ずつひろってゴミ箱に捨てるより、ちりとりで集めてゴミ箱に捨てるほうが効率いいの解かるならOK
すいません。記載するスレを間違えてしまいました。 初心者ながら自作サイトを作成しているのですが、なぜか作成したページが 「疑わしいWebページを遮断しました」とノートンが反応するようになりました。 ソースが長いので記載はできないのですが、内容はmailtoで送信するための 名前やメアドを入力した後の「以下の内容で間違いないですか?」みたいな 画面です。値はメアド入力画面から$_POSTで受けとってます。 遮断される可能性としてはどのようなものがありますでしょうか? すいませんがアドバイスを御願いします。
ノートンよく知らないけど遮断した理由書いてあるログとかないの?
574 :
572 :2009/06/07(日) 12:01:37 ID:???
>>573 ノートンのセキュリティ履歴をみると
「疑わしいサイトとしてシマンテックに提出しました」としか記載がなく
なぜ疑われているのかがわからない状態です。
ソース見ないで答えるのは情報処理の試験でも出題されないくらいの難易度の高さ ノートンの判断はノートン作った人にしかわからん つまり、「疑わしいWebページを遮断しました」でぐぐって似たケースを見るのがいいかと
最終的に吐き出したものをHTMLに保存してそれを表示させて 疑わしいものを削っていけばわかるかもよ
577 :
572 :2009/06/07(日) 15:11:25 ID:???
>>575 >>576 すいません。ソース長くてどこを見せればいいかわからない状態です。
ソース削りながら色々試してみます。
ありがとうございました。
変数に格納された数字を、正の数なら+を、負の数なら−を頭に付けて表示したいのですが、 それに便利な関数はないでしょうか PHP4
そんくらいなら自作してやれば
宿題か?
581 :
578 :2009/06/10(水) 11:56:17 ID:???
自作しますた 30秒で終わりますた 15分ぐぐって損しますた
んなもんifで数値比較するだけだろw
$str = $val > 0 ? '+' . $val : '-' . $val ; あ、0のときはしらん。
-1を--1にする気か?
みんな printf 嫌いなの?
あえてセッション使わずにglobal変数使いまくって 入力画面←→確認画面→送信 と行ったり戻ったりするフォーム作るって変? 遷移するたびに文字のエスケープやらなんやらで埋もれるんで明らかにいけてないなと
global変数でどうやってリクエスト跨いでデータ受け渡しすんの?
hiddenかsession以外でそれやる奴バカだろ
>>587 >あえてセッション使わずに
の時点で変だけど、そうしたい理由は何さ?
591 :
587 :2009/06/14(日) 21:34:45 ID:???
>>588 フォームに入力→POST→確認画面→戻るリクエスト→hidden大量で入力画面にバックして反映
この間globalでユーザー関数またぎまくり
>>589 戻ると次へと送信でhiddenとそのエスケープ処理が100コくらいある
>>590 クッキー使えないのと、心理的にURLに埋め込みたくないのと、
ブラウザのバックボタンで期限切れだしたくない(じいちゃん連中向けなんでヤツらはパニクる)のでどうしていいやら
最後のはセッション関係なかったっけ
機能的にはできあがってきちんと動いてるんだが超気持ち悪い
やり方あったら教えてプリーズ
>>591 >ブラウザのバックボタンで期限切れだしたくない
youメニュー隠しチャイナyo
っていうか心理面を克服してでもセッション使ったほうが楽だと思うんだがなぁ。
セッションキーをhiddenで渡せばいいだけの話だろ常考
まぁ実際はただのリクエストだからなw
正規表現についてお尋ねします。 あるフォームに入力された全角文字を半角文字にして他のフォームに代入するといった事をやっていますが、 全角→半角にするのはmb_convert_kanaでやるとして問題は半角に出来ない文字(例えば漢字など)を取り除いて 代入したいのです。要は半角に変換した後の文字列から全角文字だけを取り除いて半角文字列だけにしたいのです。 例:HOGE安弘MOGE → HOGEMOGE こういう事は正規表現で可能でしょうか?
>>596 preg_match_allで欲しい部分を抜いてきて、implodeでくっつけるってのは?
preg_match_all('/([A-Z])/', $str, $match);
$newStr = implode('', $match);
パターンは自分の条件に読み替えてくれ
PDOを使ったスクリプト配布してるとこ教えてください
どなたか〜〜
スレ違い
ですか。失礼しました でっこれはこのスレとマッチすると思うんですけど 海外からのフリースクリプトダウンロードしてもPDOをほとんど使って無いんですよ なぜですか?
Manualのサンプルじゃ足りないの? さておき、質問の答えは「今のところわざわざPDOを使う理由が無いから」じゃないかなぁ。
えと、見すぎであまり覚えてないのですが・・・ ほとんどhotscriptからです
適当に挙げてみてもらえると参考になるんだけど。 合計では約いくつ?
まあ作られた時期も見てみ
たった今澪抱き枕\7,300*4ポチったwww 今日の最終回泣くかもしんね俺www
うわああああああああああああああああああああああああああああ 誤爆したああああああああああああああああああああああああああ 俺死ぬマジ死ぬw
wwwwwwwwwwwwww
kimoi
早速ニコ動にうpかよw 保存すますたw
ごむぇん・・・誤爆・・・
WordPress の質問ってここで聞いてもいいんでしょうか。 arras theme というテーマを使っているのですが そのテーマにはトップページに記事のサムネイルを表示する javascript のスライドショーがあります。 それを他のページ(たとえば普通のページなど)にも 設置することはできるでしょうか。 home.php のそれっぽい場所をコピーして single.php に貼り付ければ 出来なくもなさそうなんですが、複雑でわかりにくいのと そもそもそういう設定ができるかもしれないので質問しました。 環境はwordpress のバージョンは2.8 arras theme は最新のものを使っていて 自分は php と javascript であれば編集できます。よろしくお願いします。
foo($array, 'a') なら $array['a'] を返し foo($array, 'a', 'b') なら $array['a']['b'] を返すには function foo() { // ??? } をどうしたらいいでしょうか。 func_num_args() を使って再帰で、 なんて思ったのだけど、考えがまとまらなくて。
なんのためにそんな関数を $var = foo($array, 'a'); なら $var = $array['a']; でいいじゃん
foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。 foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。
617 :
614 :2009/07/02(木) 15:41:46 ID:???
>>615-616 E_ALL 環境で isset() が面倒なんので、
foo 内で isset して値を返したり、
値があるか判定するのを作ろうと思って。
>>617 foo:セットされてないときfalse,セットされているときはその配列の内容が返る
$arr["a"]["b"]["c"] = "hoge-c";
$arr["a"]["b"]["d"] = "hoge-d";
$arr["a"]["b"]["e"] = "hoge-e";
var_dump(foo($arr,"a", "b")); // result array
var_dump(foo($arr,"a", "b","c")); // resurt string
var_dump(foo($arr,"a", "c")); // resutl false
var_dump(foo($arr,"b")); // result false
function foo() {
$cnt = func_num_args();
$var = func_get_args();
$arr = $var[0];
for ($i=1; $i<$cnt; $i++) {
if (!isset($arr[$var[$i]])) return false;
$arr = $arr[$var[$i]];
}
return $arr;
}
619 :
614 :2009/07/02(木) 16:55:15 ID:???
>>618 最高です。。。
ありがとうございます!
せっかく5.3から省略三項演算子が使えるようになったというのに
echo "<input type=hidden name=※>"; のような、出力するHTMLタグ内の※の部分に変数を置きたいのですが、 今までname=".$aaa.">のように". ."の間に変数名を入れて繋いでいたところ、 たまたま違う人がname={$aaa}>と{ }で囲っているのを見つけました。 変数の中身を{ }で参照できるのは納得できたのですが、 ". ."で囲う場合、変数ではなくname=".session_name()."のようにできるところを { }で囲う場合はどうすればよいでしょうか。 PHP5
{}で参照なんかできないよ
とするとタグの途中に変数とか関数の戻りを表示したいときどうつなげるのが普通なんでしょう ". ."は超自己流なんで定番が知りたく。
マニュアルか他のアプリのコードでも見てみれば?
いくつかの他アプリで{ }と・・・・
じゃそうすればいいんじゃね?
すみませんでした もうちょい詳しい人に聞いてみます
死ね低脳w
echo '<input type="hidden" name="',session_name(),'>';
PHP は { } で関数と定数が埋め込めないのがダサい
そんなものにまで対応させてたら文字列リテラルをパースするのにもっと時間がかかってしまう
だいいち{}で変数が埋め込めてるわけじゃないし。 埋め込めてるのはダブルクオーテーションの機能だろ {}は区切り文字なだけ
>>632 " や ' 以外の括り文字でもあればいいのかもね。
それとは別に Perl や Ruby の q| | とかもほしいなぁ。
613ですが自己解決しました。 プラグインで smoothview というのがあったので そのインターフェースを改造しました。
もしかしてsmartyなんじゃないの? smartyって{}を多用するよね。
powerd by ***** と表示しなくてもいいCMSはありませんか?
すいません、こちらで質問していいのかどうかわからないんですが レンタルサーバの設定では、PHPを「FastCGI アプリケーションモード」で動かしているらしいのですが 結構頻繁に「The FastCGI process exceeded configured activity timeout」ってエラーが出ます。 サーバ会社に聞くと、「FastCGIに対応したコードを記述してないからです」と言われたのですが、 当方、参考書を見ながら作成しているのですが、どこにもFastCGIについて書かれておらず どこかにその対応コードなどが記載されているような参考にできるサイトを知っている方はいらっしゃらないでしょうか?
>>638 _______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
._________________
|FastCGI PHP │・検索オプション
└────────────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
たんに処理時間が長くてタイムアウトしているんじゃないかなぁ
>>638 すいません、すでにいろいろとぐぐってはいるんですが
サーバ側でFastCGIを導入する方法ばかり記載されており、PHPでサイトを作る際の注意点などが記載されているものがなく
困っております。
そこで、そのような記載があるサイトがないかお尋ねしたのですが、やはり難しいのでしょうか。
ActivityTimeout=300
>>642 ありがとうございます。
タイムアウトの設定を変える内容のようですが、そちらはPHPファイルのどの当たりに記載すればよろしいのでしょうか?
そのコードがレンタルサーバ会社の言う、こちらが記載すべき「FastCGIに対応したコード」というものなのでしょうか。
なんどもお聞きしてしまって申し訳ありません
FCGIext.iniだよ
>>644 ありがとうございます。
調べたところ、レンタルサーバの管理上FCGIext.iniの編集はこちらではできないようになっているようです
わからないことばかりなので、もうすこしぐぐったりして基礎知識から勉強をしなおそうと思っています
ご助言をしていただいた方々、ありがとうございました
PHPを始めたばかりでどうしてもよくわからない点があります。 考え方といいますか、流れを教えてください。 XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、 右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。 ここでわからないのが、内容の表示位置の指定です。 MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか? 根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも よくわからないです。
MySQLのデータとHTMLタグを一緒に出力して CSSでその位置を指定すればいいのでは
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。 推奨はしないけど。
>>647 ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。
>>648 ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。
phpを使うならJavascriptはある意味必須だよ。 連携しないと実現出来ない事も多々あるし。
すまんそん。
>>650 ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。
>>651 ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。
iframeなくなるの?
655 :
age :2009/07/09(木) 22:48:26 ID:DwSsHHgt
ファイルをアップロードしmove_uploaded_fileをした時点で 強制的にサーバとPCとのコネクションを切断する事は可能ですか?
>>655 exit か die で終了させちゃえばいいんじゃないの。
>>654 iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。
658 :
ユキ :2009/07/12(日) 04:36:26 ID:au+P+rHJ
初めまして。 PHPど素人です。 インターネットで調べながらPHPの問題に取り組んでいますが、 2週間以上掛けても全く分かりません。 どのように書くのか教えていただけないでしょうか。 『EmEditor Free Version 6.00.4』とザンプを使っています。 問題は以下のとおりです。 『数値1〜9があります。全て4桁です。 9つの数字の中の最大値と最小値を出力しなさい。 負の数と5桁以上の数値が入力された場合エラーと出力する。 さらに数値1〜9のどの数値が最大値、最小値か出力しなさい。』 ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、 ゼロの状態です。 皆様、お忙しいと思いますが、助けていただきたいです。 お願い致します。
宿題は自分で
>>658 数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する
↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる
$aが4桁か調べる。 もし5桁以上なら、エラーを吐いて死ぬ。 4桁なら、こんどは、$aが負の数かどうかを調べる。 0以上なら、おk。 もし負の数なら、エラーを吐いて死ぬ。 $aのチェックが終わったら、$b、そして 、、、、$i。
次に、$a〜$iを配列に入れる。 そんで、その中の最大値を調べる(専用関数あり) そして、こんどはその配列の、最小値を調べる(専用関数あり) そんで、最大値のvalueに一致するkeyを調べて、 「この数値○が最大でした」って表示 次に、最小値がでたところのvalueのkeyを調べて、 「この数値のときに最小でした」って表示。 以上。あとは上記の仕様書をプログラマーに食わせれば ソースコードを吐く。
>>660-662 それだと「さらに数値1〜9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。
preg_matchでチェックとセットが同時にできる
665 :
ユキ :2009/07/12(日) 14:48:56 ID:tG558Uf0
>>660-664 ご親切にありがとうございます!!!!!
おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!
666 :
ユキ :2009/07/12(日) 22:27:20 ID:tG558Uf0
以下のように書いてみましたが、 これからどのようにfunctionとループを使えばいいのかどうしても分かりません。 解答、あるいはヒントを頂けないでしょうか? 度々すみません。 if($a > 9999 or $a < 0){ echo "<div>エラー</div>"; } else { echo "<div>$a</div>"; } if($b > 9999 or $b < 0){ echo "<div>エラー</div>"; } else { echo "<div>$b</div>"; } if($c > 9999 or $c < 0){ echo "<div>エラー</div>"; } else { echo "<div>$c</div>"; } if($d > 9999 or $d < 0){ echo "<div>エラー</div>"; } else { echo "<div>$d</div>"; } if($e > 9999 or $e < 0){ echo "<div>エラー</div>"; } else { echo "<div>$e</div>"; }
667 :
ユキ :2009/07/12(日) 22:28:07 ID:tG558Uf0
if($f > 9999 or $f < 0){ echo "<div>エラー</div>"; } else { echo "<div>$f</div>"; } if($g > 9999 or $g < 0){ echo "<div>エラー</div>"; } else { echo "<div>$g</div>"; } if($h > 9999 or $h < 0){ echo "<div>エラー</div>"; } else { echo "<div>$h</div>"; } if($i > 9999 or $i < 0){ echo "<div>エラー</div>"; } else { echo "<div>$i</div>"; } $x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i ); echo " 最大値: " .max($x). "<br />\n"; echo " 最小値: " .min($x). "<br />\n";
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない
すげぇ。授業はこれまで全部受けてるの? 受けてたとしたらこの段階でこんな問題出した教師が悪い
>>666 function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667 を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。
ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。
ローカル環境でテストするときに 実際のフルパスを書き換えないでテストできる フリーの開発ツールを前に何かで見つけたのですが ご存じないでしょうか?
PEAR使うとエラーが出まくるんだけど、これって どうすればいいの?
>>671 パスは設定ファイルに入れておけばいいじゃない。
完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。
または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。
>>672 PEARのインストールができているかまずチェック。
>>673 php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz
どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。
[環境] WinXP(XAMP) + PHP5 [質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。 ※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。 ---------------------------- ※1 OK function HogeFunc { echo "Called HogeFunc1"; } class HogeClass1{ public function Action() { foreaech( $m_Array as $key => $value ) { $value(); } } $m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK }; ---------------------------- ※2 こいつはNG class HogeClass2 { public function Action() { foreaech( $m_Array as $key => $value ) { $value(); } } public static function HogeFunc2 { echo "Called HogeFunc2"; } $m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー } ※※エラー内容※※ Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略 ----------------------------
下の奴パースエラーにならないか?
上もだった。 色々ひどい。HOGE_TAG関数もないし
Reflection API
>>674 そういう問題じゃなくて。
PEARの書き方が古すぎて、
noticeが出まくるってこと。
エラー表示の制御は基本中の基本だぞ
PHPを勉強しようと思ってPHPをDLするのにサイトに行ったけど 全く繋がらないんだが俺だけかな?
www.php.netやphp.netじゃつながらなかったが jp.php.net jp2.php.netとかはつながった
>>683 ホントだ! これでDLして勉強できる・・・
ありがとうございます
685 :
質問です :2009/07/22(水) 01:15:02 ID:???
xhtml構造で 他ページにおいてるphpを読み込むには どうしたらいいですか? いまはとりあえず、インラインとかobjectタグで 呼び出しています ほかに良い方法があればお教えください
すいません。超初心者ですが、配列と変数について困っています。 $ar = array(1,2); とすると Array ( [0] => 1 [1] => 2 ) と表示されるのですが、 $date = "1,2"; $ar = array($date); とすると Array ( [0] => 1,2 ) と表示されてしまいます。 $dateにはテキストボックスから自分で数字とコンマを入力して代入するようになっているのですが、 これらを配列として扱うようにするには、どのように記述すればよいのでしょうか。 申し訳ありませんがよろしくお願いします。
$date = explode(",",1,2); while ($i == 0){ $date1 = mt_rand(0,1000); $date2 = mt_rand(0,1000); if ($date1 == $date[0]){ if ($date2 == $date[1]){ break; } } } $ar = array($date1,$date2);
689 :
687 :2009/07/22(水) 17:05:52 ID:???
すいません、自己解決しました。 $ar = array($date); を $ar = explode(",", $date); とすることでうまく動きました。 お手を煩わせて申し訳ありませんでした。
690 :
687 :2009/07/22(水) 17:07:43 ID:???
685です
>>686 トンです
require_onceとhtaccessやっても無理でした
再度トライ中
$this->name = "名前"; $this->mail = "メアド"; $this->tel = "電話"; などとあった場合、$thisの配列の中身を全部一括出力したい場合どうすればよいでしょうか
var_dump($this); ちなみに配列じゃないけどね
>>693 おおーこれ便利ですねー
ググって類似のprint_rも覚えました
ありがとうございました
セッションを使ったフォームで、入力してもらったフォーム内容を確認画面に飛ばした後、 入力画面に戻って修正箇所を再入力、というような普通のフォームを作っているのですが、 修正入力のときにフォームのリセットボタンが動作しません(全消去ではなくセッションで渡された内容に戻ってしまう) スクリプトの挙動としては作った通りなので当然なんですが、機能としてどうも違うような気がします 何か解決方法はないでしょうか
リセットはJSでやりゃあいいじゃん
UI としてリセット機能は不要なことが多いけど
698 :
695 :2009/07/23(木) 18:08:13 ID:???
なるほど、どっちもアリだと思うので両方検討してみます
Apache入れないでphp.exe -lって出来る方法ってありますか? Apacheを入れたPCでは現在使えています。
CLI版ならできるんじゃ?
win zip版を落としてきて パスphp.exe -l "%1" これでダメなのです。 Apacheを入れてるときは動いてたのですが
エラー文言を出さないのは釣りということ。スルーで。
$_SESSION["input"] = $_POST; としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、 さらにそれを一括してhtmlspecialcharsする方法はないでしょうか 現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・ PHP5
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?
function h($data) { if (is_array($data)) { return array_map('h', $data); } else { return htmlspecialchars($data, ENT_QUOTES); } }
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ
>>705 ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw
>>706 本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです
>>707 下
普通はHTMLに出力用データを埋め込んで表示
>>705 と
>>708 をベースに、htmlspecialchars後の&まで&に置き換わってしまう謎を無理矢理解決して最終的にこうなりました
function h($data){
if(is_array($data)){
return array_map('h', $data);
}else{
return stripslashes(preg_replace("/&/i", "&", htmlspecialchars($data ,ENT_QUOTES, "SJIS")));
}
}
呼び出し箇所
if(get_magic_quotes_gpc()){ $_SESSION["input"] = h($_SESSION["input"]); }
動いてはいるものの正直自信全くナシですw
>>709 こっちもできるようになりたくて試行錯誤3時間
今日はできませんでしたorz
明日また粘ります
出力したいデータを詰め込んだ変数の中身はこんなかんじです
$output = "
<table><tr>
<td>名前</td>
<td><input type=\"text\" name=\"name\" value=\"".$_SESSION["input"]["name"]."\" /></td>
</tr></table>
";
あ、書き込んだら勝手に記号置き換えられてました
>>710 の「&まで&に」は「&まで&amp;に」です
>>710 下
<?php
/* 〜前処理〜 */
$data['name'] = htmlspecialchars($_SESSION["input"]["name"]);
?>
<table><tr>
<td>名前</td>
<td><input type="text" name="name" value="<?php echo $data['name']; ?>"/></td>
</tr></table>
713 :
nobodyさん :2009/07/25(土) 09:38:50 ID:njtiSjD4
&が置き換わるのは htmlspecialcharsの仕様
>>712 おかげさまでできました
$_SESSIONの中身を一度別の配列に放り込むのは
$_SESSIONの中身をいじるべきではないから
と解釈しましたがよいでしょうか
>>713 ググってさっそく調べました
「そういうもの」と考えるしかないみたいですね・・・
ところで、
>>710 で書いたfunctionなんですが、
フォームに\を記入するとstripslashesの作用で\が消えてしまうというトラブルに見舞われてます
該当部分の処理を順番に並べると下のようになるのですが
$data = htmlspecialchars($data ,ENT_QUOTES);
$data = preg_replace("/&amp;/i", "&", $data);
//*//
$data = stripslashes($data);
これだと\が消えてしまうので、上の//*//の部分に
$str = preg_replace("/\\\\/i", "\\", $str);
を入れてstripslashesをだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか
stripslashesって何のために入れてるの?
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです
magic_quotes_gpc が効いてるだけでは
うん。 あと野村監督じゃないけどバグに不思議のバグなしなので 「なぜかこうなる」はちゃんと原因探ったほうがいい
>>717 なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw
720 :
nobodyさん :2009/07/25(土) 19:12:06 ID:y2BFJd1A
配列をJavaScriptのオブジェクトにするプログラムを考えているのですが どうしても配列の深さだけ処理を繰り返す必要があります。再帰的に繰り返すにはどうしたらいいのでしょうか。 この例だと配列を2階層しか整形出来ない function makejson($array){ $return = "{\n"; foreach($array as $key => $value){ $return .= "\t".$key.":"; if(is_array($value)==true){ $return .= "{\n"; foreach($value as $key => $value_2){ $return .= "\t\t".$key.":"; $return .= "\"".$value_2."\",\n"; } $return .= "\t},\n"; }else{ $return .= "\"".$value."\",\n"; } } $return .= "}"; echo $return; exit; }
721 :
nobodyさん :2009/07/25(土) 19:12:30 ID:y2BFJd1A
入力例 $array = array{ 'example' => array{ 'test1' => 'value1', }, 'example1' => 'value3', } makejson($array); 出力例 { example : { test1 : "value1", }, example1 : "value3", } よろしくお願いします。
723 :
nobodyさん :2009/07/25(土) 19:48:52 ID:y2BFJd1A
そんな便利な関数があったのねありがとう
724 :
719 :2009/07/26(日) 17:13:42 ID:???
最近皆さんにお世話になった
>>719 です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで
>>715 ,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません
ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw
具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか
CSRF とか大丈夫なんかな
php5.2.5で、mb_send_mail()を使ってメールを送信する際、
spam扱いをなるべく避けるため第5引数で-fパラメータのReturn-Pathを設定したいのですが、
$r_path ='-f
[email protected] ';
mb_send_mail($to,$sub,$body,$header,$r_path);
としてもエラーが出て送信できません
第5引数を外せば送信できるので第5引数が原因だと思うのですが、
対策はないでしょうか
php.iniの設定は以下の通りです
sendmail_from → no value
sendmail_path → /usr/sbin/sendmail -t -i
>>726 -fの後ろに余分なスペースがあるとか。
これって何をしたいんですか?(汗 $password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));
ワロタ
730 :
728 :2009/07/29(水) 00:14:01 ID:???
わかるかたいませんか?
>>730 パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。
次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。
それって逆にパス文字列に戻せるのかな
戻せない
戻す必要ないしな
あの青春は戻らない ハッシュのように、曖昧な記憶が残っているだけさ
>>728 別にそんなことしなくても、
sha1(25)
とかって書けば、25回暗号化してくれるのにな。
ソノウソホント
25が暗号化されるんじゃないのか?
セッションについて悩んでます ローカル環境で送信フォームをテストすると、 同一ページ内にある全てのリンクのURL末尾に自動的に セッション名とセッションIDが付加されてしまいます レンタル鯖上では起こらない現象なのですが、 どうしてローカルでだけ起こるのでしょうか
>>740 session.use_cookies
session.use_only_cookies
session.use_trans_sid
これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。
742 :
740 :2009/07/29(水) 14:23:22 ID:???
>>741 >session.use_trans_sid
ありがとうございます
ビンゴでした
一発で治りました
秀樹感激
743 :
nobodyさん :2009/07/29(水) 14:57:52 ID:YfqDSQPl
この性器表現の意味分かる人教えて。 !preg_match("/^$type\.\w+\.php$/", $entry)
>>743 $typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる
ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・
童貞ですが何か?
PHPのゲームってどれくらい負荷かかるのですか?
PHPを何に使っているかによる。 ADVゲームの画面切り替えに使っているのなら、 それほど負荷はかからない。 リアルタイムの多人数同時プレイゲームのデータ を常に送信しつづけるサーバーとしてPHPを使って いるのなら、負荷はかなりのものになる。
なるほど ありがとうございます
751 :
nobodyさん :2009/08/01(土) 23:44:33 ID:FfAyQxIr
初心ですいません。今PHPで複数のサイトの更新情報を表示できるrssをつくりたくて
やっと表示できたソースがあったんですが、↓のやりかただと更新時間順に表示されなくて、
URL順になってしまいます。
$rss = array('
http:// ○○','
http:// ○○','
http:// ○○');
これ以上ぐぐっても答えが出そうにないのでお知恵をお貸しください
RSSを表示できるなら、その内容をパースすることもできるだろう。 パースして各RSSの更新日時を取得、それを順に並べて出力すりゃいい。
微妙にスレチなんだけど、このスレの凄腕達はPHP開発環境使ってる? var_dumpでブラウザに毎回出力してたんだがさっき自称凄腕に失笑された
デバッグするならZendStudio、とりあえずさっと作って動作確認するなら秀丸+ブラウザorコマンドライン
var_dumpを笑う者はvar_dumpに泣く じっちゃんがよく言ってた
俺なんてブラウザでprint_rですけど
フリーのIDEがZendFWに完全対応してくれるならいいんだけど・・・
リモートデバッグとかステップ実行したいときはPDTだけど 普段はPHPエディタ+tortoisesvn デバッグ表示はVar_Dump::display(); // pearのVar_Dump あとはXdebug有効にしてる(エラー時にブラウザに色々情報でる) 凄腕じゃないのでほとんどの場合、これで十分。
※ただしストレスが溜まる
PHPの総合開発環境で何かおすすめないですか? PHPエディタという奴は起動してすぐ落ちるのでだめでした VisualStudioみたいのがいいんだけど、やはりフリーじゃなくお金払わないとだめですかね
eclips + PDT
>>764 コード書いた後の出力の確認ってどんな感じになるの?
教えてください CSVから1行一件のデータを読み込み 最初のforeachの中でif文使って条件分けしたデータを配列に入れて その分けた数とforeachで表示させたいのですが 条件分けしたデータを入れる変数?配列?の宣言の仕方が分かりません $Alllist = file("data.csv"); foreach( $Alllist as $list ) {
767 :
766 :2009/08/10(月) 00:22:54 ID:???
改行間違って送ってしまった orz if( strcmp( $list, "A" ) == 0 ) $array = $list; } printf( "Count count($array)" ); foreach( $array as $wake ) {
768 :
766 :2009/08/10(月) 00:25:21 ID:???
最悪だ、2度失敗した 表示; } すみません、質問以前な事してますが よろしくお願いします m(_ _)m
strcmpで条件分けしたCSVの1行だけ foreachで各列を表示したいんだよね? それでいいのでは?
推測になるが、例えばcsvデータの1列目の文字に応じて、分類したいということなら、 function group_lists($list, $key, &$group) { if (! array_key_exists($key, $group)) $group[$key] = array(); $group[$key][] = $list; } // ここから呼び出し元 $group = array(); foreach( $Alllist as $list ) { if (stripos($list, 'A') === 0) { group_lists($list, 'A', $group); } else if (stripos($list, 'B') === 0) { group_lists($list, 'B', $group); } // 以下、場合分けの数だけelse ifが続く }
submitボタンが押されたらフォームの内容を ファイルに書き込むプログラムを作りました。 a.php ----------------------------------------------------- if($_POST['submit']) { writeData(); } ----------------------------------------------------- これは正常に動いているのですが、 a.phpからb.htmlなどにページ移動し、ブラウザの戻るボタンで戻ると 再度POSTデータが送信されてファイルに書き込まれてしまいます。 これを避ける方法がありましたら、ご教授願えますか?
>>771 書き込む内容をチェックしたり、セッション使ったり
用途に合わせた選択をすればいいと思う
>>772 ==を使う方が例外的だろう
普通は===を使うぞ
えっ
なにそれ
777 :
766 :2009/08/10(月) 10:34:50 ID:???
>>769 >>770 さんレスありがとうございます
まずCSV内に一致した数を表示させて
その後に分類されたデータを表示させたいので
分類と表示を一緒にはできない・・・ですよね
配列を宣言して、その配列にどんどん分類したデータを追加していく
C++で言うvector見たいなのはphpでは無いのでしょうか?
hairetu = array(); hairetu[]="hogehoge"; hairetu[]="hagehage"; hairetu[]="tsurutsuru";
== は型を無視して比較、 === は型まで同一かどうかを比較、 だったっけか
780 :
766 :2009/08/10(月) 13:47:28 ID:???
>>782 全部マニュアルで明記されてることじゃん??
どの辺が普通なの?
粘着質な奴だな
答えられないんだw
テキストファイルからURLを抽出するphpを書きたいのですが、
$source (元のテキストファイル)
$result (URLリスト)
とします。
http://phpspot.net/php/man/php/function.preg-match-all.html ここを参考に以下のコードを書きました。
// $pattern = '/
http:\/\/[a-z0-9\/\-_\.]+/i ';
// $pattern = '/(?:")?(
http:\/\/[^\s "]+)/';
$pattern = '/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/';
preg_match_all( $pattern, $source, $maches );
fputs($pointer, count($matches[0]));
fputs($pointer, "\n");
for ( $i=0; $i< count($matches[0]); $i++ )
{
fputs($pointer, $maches[1][$i]);
}
色々パターンを変えてやってみても、結果はいつも0(何もマッチしない)です。
これ以外の方法でも構わないので、テキストからURLリストを作る方法を教えてください。
よろしくお願いします。
>>782 string型同士でも10e0とか数字比較されるのは知らなかった。
これは危険だな。
>>786 ひょっとして
$source = 'hoge.txt';
とかじゃないよね?
preg_match_allの第2引数は検索対象となる”文字列”だからね?
型まできちんと意識するときは===使うけど、意識するまでもないときは普通に==使うなあ。 まあ用心とか念のためとかいわれたらそう言う考え方もあるよね、だけど。
型を意識しなくてもいい言語だからこそ型に関連するバグに嵌るんだよな
791 :
770 :2009/08/11(火) 00:47:34 ID:???
>>772 いまさらだが、striposは、見つからなかった場合、falseを返す。
== 0 とした場合、0文字目かfalseかを判断出来ないため、=== 0とした。
792 :
786 :2009/08/11(火) 11:34:24 ID:???
>>788 そうやってました。
っていうことは、$sourceから一行づつ文字列引っ張ってpreg_matchでチェックしていくんですかね。
どう書けばいいんだ… CかC++なら一瞬で終わるのに…
793 :
786 :2009/08/11(火) 11:37:04 ID:???
おそらく$sourceから fgetsでラインを取りだすと思うんですが、行はどうやって指定するんですか? (ポインタをどうやって進めるんですか?)
$source = 'hoge.txt'; $pattern = '/(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/mi'; preg_match_all( $pattern, file_get_contents($source), $maches ); print_r($maches);
795 :
786 :2009/08/11(火) 11:46:06 ID:???
<?php $pointer=fopen("./book/memo", "r"); //ファイルを開きます $line = fgets($pointer); //内容を取り出します echo $line; //画面に内容を表示 fclose($pointer); //ファイルを閉じます ?> こういうクソサンプル載せてるサイトってなんなんだろう… 全く意味がないw
796 :
786 :2009/08/11(火) 11:48:25 ID:???
>>794 さん
ありがとうございます。
file_get_contentsがキモだったんですね。
お前が言うな
ワロタ
Apache で聞くべきか悩んだのですがここで。 .htaccess で php_value mbstring.func_overload 0 と書いても設定が変わりません。試しに php_value mbstring.func_overload = 0 と書くとエラーになるので .htaccess は読まれているようです。 ( mod_rewrite などは動いている ) 解決策をご存知の方はいらっしゃいませんか。
ini_get("mbstring.func_overload"); はいくつ?
801 :
799 :2009/08/12(水) 11:54:07 ID:???
>>801 だからよ、7ってことはその.htaccessが効いてないってことじゃないか。
803 :
799 :2009/08/12(水) 13:47:48 ID:???
>>802 なので何でだろう、と。
Apache スレの方がいいですかね。
ini_set してまたini_getするとどうなる?
AllowOverrideがNoneになってるとか?
そもそも環境は?バージョンとか。 一部レンタルサーバじゃその変更使えないとか書いてるサイトもみかけたぞ
807 :
799 :2009/08/12(水) 14:44:31 ID:???
みなさん、いろいろとありがとうございます。
>>804 mbstring.func_overload は PHP_INI_PERDIR なので
ini_set() できないだろと思いつつ、試してみましたが 7 のままです。
>>805 あ、それ怪しい、と期待したのですが
AllowOverride All
Options All
でした…。
>>806 自分のパソコンの実験サーバです。
Apache/2.0.63 + PHP 5.2.9-1 ( Windows Vista )
とりあえず php.ini の mbstring.func_overload = 0 をしてますが、
古いアプリが 7 を期待しているのがあって、普段は 7 がいいんです…。
いやまあAllowOverrideはrewrite効いてるって書いてるから無いでしょ。 とりあえずこっちで試す限り普通に変更できるので、どこかで上書きしてるか 変更しないようになってるのでは。 インストールした直後の設定に戻しても同じかな
809 :
799 :2009/08/12(水) 15:37:31 ID:???
>>808 ですよね。
何かの見落としだと思うので
クリーンな環境で試してみます。
今日初めてSmartyを使ってみたのですが、ブラウザで開くと文字化けしてしまいます。 phpとtplの文字コードはEUC-JPで、tplの出だしは <HTML lang="ja"> <HEAD> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP"> となっています。 そいやphpで書いてた時も同じものをprintしたんじゃだめで、 header( "Content-Type: text/html;charset=EUC-JP" ); と書かないと文字化けしたんですけど、関係あるでしょうか?どうやって解決すればいいんでしょう。
続き mbstring.internal_encoding = EUC-JP になっています。
更に追記 ブラウザでエンコーディングを日本語:EUC-JPに指定すると文字化けが直ります 日本語:自動判別にすると文字化けします
冒頭に美乳と書く
>>810 ブラウザに送られるHTTPヘッダの情報に異なった文字コード宣言が入っているため
FirefoxはHTTPヘッダとHTML文書に異なる文字コードが宣言されている場合、HTTPヘッダを優先する
header()はHTTPヘッダを送信する関数のため、header()を利用した場合は再現しない
なるほど。で、どうすればいいんでしょうか
default_charset は?
php.iniの中にdefault_charsetの設定がありません。これが原因でしょうか? バージョンによってはないものなんでしょうか?追加するとしたらどこにすればいいんでしょう。 ぐぐって出てくる解説では最初から入っていることが前提となってるっぽいですが。
適当な位置にdefault_charset = EUC-JPを追加してみたけどだめでした。 こりゃあきらめるしかないか。
mixiのメッセージが届いたら、 「○○さんから届いたよ」っていうメッセージが デスクトップに表示されるっていうプログラムを作りたいんですが、 「メッセージを受け取った時に実行する」にはどうしたらいいんでしょう?
821 :
nobodyさん :2009/08/17(月) 17:42:19 ID:YF5t01fc
ハリコの虎とかがむしゃらのようなスクリプトって公開されていますでしょうか?
何だろうと思ったらエロ画像掲示板なのか ぼく18歳未満なのでこれ以上調査できません><
823 :
nobodyさん :2009/08/18(火) 10:55:27 ID:4md56gGq
質問です。 <?php $test="てすと"; ?> <html><body> <?=$test?> </body></html> これが表示されるサーバーと表示されないサーバがあるのですが、 どういう理由で違いが出るのでしょうか? どこかサーバー側の設定が違うのでしょうか? 宜しくお願いします。
825 :
nobodyさん :2009/08/18(火) 11:14:03 ID:4md56gGq
>>824 ありがとうございました。
無事、表示できるようになりました。
ショートオープンタグは、 オフにしたほうがいい。 もし開発環境で、オンで、 そのまま開発して、 それでもし本番がオフだったら、 書いたコードがPHPとして 実行されずに、ソースが丸見えになる。
俺の、ゆめは、将来のうちに 連れとか中間と、いっしょに、連合組んで 関東を統一することである。 学校出たら、トオルんとこの溶接、手伝って 金ためてアストロか、シーマを、迷ってるが買って、 単車も改造して、バリバリいい音出して走る。 俺は、ずっと将来現役で、走り続ける事が、夢である。 これ思い出した
レンタ鯖がカスタマイズしたphp.iniの設置認めてるんですが、 こういう場合php.ini全文をupするものなのか、それとも変えたい部分だけを log_errors = On みたく書いてそれだけをphp.iniの名前でupするものなんでしょうか
>>828 レンタル鯖のマニュアル読んだほうがいい。
一概にどうとは言えないと思うよ。
830 :
nobodyさん :2009/08/19(水) 13:19:33 ID:rHPCm5Kh
すいません、質問いいですか? 【OS名】 linux 【PHPのバージョン】php5.1.6 【WEBサーバ】 Apache 【質問内容】 function send_to_smart($data1, $data2 ,$mode){ //パターン1 if($mode+0 == 0){ $request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n"; send_request($request); //パターン2 }elseif($mode+0 == 1){ $request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n"; send_request($request); } $fp = fsockopen("*****.jp",80); fputs($fp, $request); while (!feof($fp)) { $line .= fgets ($fp,128)."\n"; } fclose ($fp); } 上記の感じでソケット送信のプログラムを作ってます。 ・パターン1と2で別々にデータを送信してる ・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。 ・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。 ・2回ともレスポンスは取れている。ソケットオープンも問題なし。 パターン2で送れない理由がさっぱりわかりません。 これで、なんか原因や解決策判ったりしますか?
send_request関数が無いので何とも
マルチだったのか。乙
<?php $mes =" <html> <head><title>aaa</title></head> <body>aaa</body></html>"; echo $mes; ?> たったこれだけのスクリプトがFirefoxでだけエラー起こす鯖があるんだけどなんでだろう アドオンは当然全部切った ↓エラーメッセージ 501 Method Not Implemented GET to /test.php not supported. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
正しくヘッダ出してないからじゃね
クッキー消せだって
ありがとう クッキー消したらうまくいった クッキーなんて使ってないスクリプトなのになんでだろ・・・
file_get_contentsとか、curl_execとかでPOST送信した場合、 相手から302が返ってくると遷移先にGETで送ってくれやがります POSTで再送できないの?
RFC2616
>>838 「POSTして302が返ってきたら遷移先にもPOSTで送れって書いてあるのに
誰も守ってくれなかったから仕方なく303と307作った」
って読めるんだが違うの?
その本来の302の動作をさせたかったんだが。
とりあえずZend_Httpのstrictredirectsでできるのはわかったんだが、できれば標準関数で行いたかった。
他人がつくったPHPアプリをメンテしているんですけど、スパゲッティになっています。 それで、どのPHPファイルが読み込まれるのかを調べたいんですけど、そのような機能はPHPにありますか。 つまり require_once() した時にそのファイル名をログファイルに出力させたりとか、そういうかんじの機能です。 よろしくお願いします。
>>840 ・配列のぐろーばる変数をつくる
・あらゆるPHPファイルの戦闘でグローバル変数に自分のファイル名を追加させる
・最後辺りで print_r する
842 :
770 :2009/08/22(土) 03:44:58 ID:???
>>841 全ファイルの先頭に追加するならそんなことしなくてもecho __FILE__すればいいだけじゃないのか・・・
画像への権限について質問があります。
画面からファイル(画像)がアップロードされた場合に
http://test/img/test.jpg という風にファイルを保存しています。
また、ファイルがアップロードされたタイミングでファイルの権限を640に設定し
そのままでは外部からアクセス出来ない様に設定しています。
ここで質問なのですが、A.phpのページにパスワードを入力しそのパスワードが
正しい場合のみそのクライアントからは、アップロードされたファイル(ここでは、 test.jpg )に
アクセス出来る様にしたいのですが何か良い方法はありますか?
>>844 コード上の認証と絡めるなら、画像のURLをPHPにして、
パラメータでどの画像か判別させればいいのでは。
PHPからは、image なんちゃらの content-type ヘッダを
吐き出して、そのあとバイナリを送ればいいだけ。
>>845 ごめんなさい。ちょっと難しいです。
何か参考になるサイトがあれば教えて頂けますでしょうか?
マニュアルみながらBASIC認証なりセッションなりやればいいんじゃね
>>844 test.jpg を、ブラウザからはアクセスできないフォルダに置く。
(できないサーバーもある)
それで、phpから、そのjpgを呼び出して表示するように
すればよい。
1.phpにアクセスすると、
その1.phpが、test.jpgを呼び出す感じ。
直接test.jpgにブラウザからはアクセスできない。
それで、1.phpに、パスワード認証をかけておいて、
パスワードが一致したら、ログイン成功、にして、
セッションでその情報をもちまわせばよい。
オンラインチャットを作りたいのですが、一から言語を覚えて作るのは難易度高いでしょうか プログラミングはvbとhtmlしか経験ありません
>>849 技術的にはCometとかになるだろうから
インフラ的に無理
自鯖使うならいいけど
難易度的には難しくはないしその辺にサンプルも転がってるだろう
1行掲示板みたいなので、javascriptで30秒リロードとかでいいんじゃねーの?
いつの時代のチャットだよw
>>850-851 ありがとうございます
インフラなら問題ありません
vbでLAN上のチャットなら作ったことがあるので
ほかの言語で作り直すのはどのくらい難しいのか
経験者の方からみてやめておいたほうがいいのかをご助言いただけるとうれしいです
VBでクライアントアプリ作って、 PHPでデータ受けて返すのを作れば 完成なんじゃないか
855 :
849 :2009/08/25(火) 15:14:15 ID:???
>>854 一応ブラウザ上で動かしたいもので、すみません
VBの経験があるならクライアントにSilverlight使えばいいんじゃない
cURLに関しての質問です。 やりたいこと: 自分のホームページ上からヤフオクへログイン。 現状: mixiへのログインは出来たのですが、ヤフオクが出来ずに躓いてます。 mixiへログインすると正常にcookieも書き出してくれるのですが、 ヤフオクへアクセスを試みると Empty reply from server というエラーを 吐いてしまいます。もちろんcookieも書き出してくれません。 何かアドバイスを頂けると非常に助かります。m(__)m (長くなるのでスクリプトは次レスで。)
858 :
857 :2009/08/26(水) 05:57:44 ID:???
>>857 の続きです。
スクリプト:
<?php
// POSTデータ準備 hiddenで送ってるデータが非常に多いので視認性のため一部割愛
$post_data[".u"] = "2c2vi55595i07";
$post_data[".v"] = "0";
$post_data[".challenge"] = "bwDQLWdW58F9ZAsaWVZwpkkumuzc";
$post_data["hasMsgr"] = "0";
$post_data[".chkP"] = "Y";
$post_data[".done"] = "
http://auctions.yahoo.co.jp/jp ";
$post_data[".protoctl"] = "" ;
$post_data["login"] = "MYID";
$post_data["passwd"] = "MYPASSWORD";
$post_data[".persistent"] = "y" ;
859 :
857 :2009/08/26(水) 05:59:10 ID:???
>>858 の続きです。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "
https://login.yahoo.co.jp/config/login? ");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$result = curl_exec($ch);
if ($result === false) {
// エラーが発生した場合の処理(現在ここでエラーを吐きだして終了する。)
print curl_error($ch);
exit();
}
// ログインが成功してたらトップページへ接続
curl_setopt($ch, CURLOPT_URL, "
http://auctions.yahoo.co.jp/jp/ ");
$result = curl_exec($ch);
curl_close($ch);
//取得結果を出力する。
echo $result;
?>
以上です。
フィッシング詐欺?
861 :
849 :2009/08/26(水) 06:25:22 ID:???
>>856 今日図書館にいって調べてみます
ありがとうございました
862 :
nobodyさん :2009/08/27(木) 16:53:40 ID:pMvyOdS/
現在表示しているページのURLの最後にくっついている「#」以降の文字列って $_SERVERや$_GETに入ってますか? $_SERVER['PHP_SELF']や$_SERVER['QUERY_STRING']では取得できなかったのですが 他に何かあれば教えてください;;
無理
864 :
nobodyさん :2009/08/27(木) 16:58:32 ID:lv8pbWG8
ハッシュから一番目のデータを取り出し、 取り出した元ハッシュからは、その一番目のデータを取り除きたいです。 ベタに書くとこんな感じですが、 もっとかっこよく書けないでしょうか。 $array = array( 'a'=>'100', 'b'=>'200', 'c'=>'300', ); list($data, $array) = foo($array); print_r($data); // array('a'=>100) print_r($array); // array('b'=>200, 'c'=>300) function foo($array) { $new_array = array(); $line = 0; foreach ($array as $key=>$value) { if ($line == 0) { $data[$key] = $value; $line++; continue; } $new_array[$key] = $value; } return array($data, $new_array); }
>>865 通報したぞ ガチで
ハッシュは大麻同様違法
867 :
865 :2009/08/28(金) 16:10:54 ID:???
キめたら頭が冴えて自己解決しました。
function hash_shift($array) {
list($key) = array_keys($array);
$data[$key] = $array[$key];
unset($array[$key]);
return array($data, $array);
}
>>866 4点。
$data = array_slice($array, 0, 1); $array = array_slice($array, 1);
869 :
865 :2009/08/28(金) 16:48:07 ID:???
>>868 ありがとうございます。
おー、こうも書けるんですね。感心です。
$foldername = mb_convert_encoding($foldername, $toEncode, $fromEncode); にすればおk
携帯サイトを作っています(3キャリア対応、共通ソース)。 厳密に言うとPHPではないのかもしれませんが、<a name="〜〜">でのアンカーリンクが上手く動作しません。 header("Location:〜〜")でページをジャンプさせるのですが、その際にPHPSESSIDと共に#でページ内アンカーに飛ばしています。 ところが、まったく同じURLにジャンプさせているのにもかかわらず、機種やジャンプさせるボタンによってページ内アンカーに 飛んだり飛ばなかったりで、条件がよく分かりません。 飛ばしたいところのソースは、 <a name="face" id="face"></a> となっていて、ジャンプさせるコードは、 header("Location:hogehoge.php?guid=ON&SSID=〜〜&".SID."#face"); となっています。 header("Location:")は、aタグのページ内アンカーに対応していないのかとも思いましたが、 場所によっては飛んでくれるところもあるので、そうではないようです。 ちなみにXHTMLで組んでいるので<div id="face">とやってみましたが、これでもジャンプしてくれませんでした。 一体何が原因なのでしょうか?
上記に追記です。 ドコモで試したところ、header("Location:")内の#以降がスッパリとなくなっていました。 ドコモでは対応していないようですね・・・。
AUでは?
>874 auでは#以降はキチンと転送されているものの、ジャンプしてくれません。
softbankでは?
クソスレ三段論法についておしえてください
実はここってレベル低いよな。
PHP超初心者です(Apacheはインストール済みです)
で、今PHPのインストール設定のところで迷っているのですが、php-5.2.10-Win32.zipをダウンロードし、C:\phpに展開しました
その後php.ini-distをphp.iniに名前変更してWindowsディレクトリに入れました
その次の事が良く分からないのですが、このphp.iniの内容を書き換えろというのは、例えば自分でメモ帳やらTeraPadで書き換えろという事なのでしょうか?
それと、本に「extension_dir="c:/php/ext"」と書かれているのですが、コレはphp.ini内で検索して出てくる「extension_dir = "./" 」という部分を書き換えればいいのでしょうか?
また、自分は「独習PHP」を参照にしているのですが、このサイト(
http://y-kit.jp/saba/xp/phpsetup.htm#down )やこのサイト(
http://www.phpbook.jp/install/phpini/index.html )で、書かれている事などが違います
いったいどれを参考にし、どういうような書き換えをするべきなのでしょうか?
教えていただければ幸いです
>>882 883の10レス目に答えが書いてあるが
1から順番に読むことを進める
はい、その通りです。 他のサイトのは貴方の環境には合いませんから違います。
>>883-885 返答ありがとうございます
思っていたよりもPHP導入って難しいんですね
PHP学習するよりも何か導入の方が時間かかっている気がします(苦笑)
第1章がなかなか先に進みません・・・
すみません、
>>883 さんの教えてくれた、「俺が初心者にPHPを伝授する」スレにも質問してしまったのですが、このスレの方が質問は適切かなと思いまして
上記のスレの
>>1 から続く設定方法を見てやってみたのですが、
>>13 のPHPの設定で、Apachewo再起動したところ、httpd.confの「LoadModule php5_module C:/php/php5apache2.dll」がEroorになり、
「php5apache2.dll」がload出来ないと出ました
色々とやってみたのですが出来ません
いったいどこの設定が間違っているのでしょうか?
教えてください
888 :
887 :2009/09/02(水) 12:10:26 ID:???
バージョンはphp-5.2.10-Win32.zipとapache_2.2.13-win32-x86-openssl-0.9.8k.msiの組み合わせです
せっかく向こうで答えたのにマルチ乙
890 :
887 :2009/09/02(水) 12:24:15 ID:???
sudo make install-cli を実行しても、/usr/local/bin/php がインストールされません。 (--prefixはちゃんと/usr/localになっています。) 以前はこれでうまくいっていたはずなのに。 何が原因かわからないのですが、心当たりのあるひとがいたら教えてください。 PHP5.2.10, MacOS X Snow Leopard
文字列を記述する場合""で囲むか''で囲むかはどうやって決めれば良いのでしょうか? 基本的すぎて?解説書に書いてない
$hoge = "ほげ"; print "1 $hoge"; print '2 $hoge'; ->出力 1 ほげ 2 $hoge ----------------------------------------- 速度的には ""の中に変数を書くのではなく、 print "1 ". $hoge; とするのが早いらしい。
シングルとダブルの速度差ってどこかで否定されてなかったっけ。 まあソースを追えばわかるんだろうけど。
>>893 d
すみません、質問の仕方が不適切でした。
その違いはわかるのですが、シングルでもダブルでも動作に違いがない場合
どちらを使うかは全くどうでも良いことなのでしょうか?
具体的には、
$hoge['name']と書くか
$hoge["name"]と書くか悩んでる。現在統一されてなくてバラバラなので気になって。
>>894 書き方が悪かった、
print "1 ". $hoge;
print '2 '. $hoge;
とやった際のスピードは殆ど変わらない
ダブルで変数が書かれていた場合、変数を呼び出す際に遅いということ。
>>895 シングル・ダブル、どちらでもかまわないが、文字+変数などでキーを指定する場合は
$hoge[ "As$num" ] ではなく、
$hoge[ "As".$num ] とやった方がいい
ついでに質問 PERLだとシングルで囲むと不具合の出る日本語(カタカナのソとかだったような)があったけど、 PHPではその心配はしなくて良いのでしょうか?
twitterのbot作ろうかと思ってSerivices:Twitterを入れてみたけど これtwitterAPIがかなり不完全で辛いのだけど、他に使えそうなのないだろうか。 自作したほうがかゆいとこに手が届くのは確かだけど 既存のがあるのならそっち流用したほうが手間省けるし。 twitterのbotやツール関連スレないかと探してみたもののないっぽいね。
xampp 1.7.2 MySQLを起動しているのに、 XAMPPの「ステータス」の画面では、 MySQL 起動していない って表示されます。なんで? 起動していることの検出に 失敗している?
それPHPと関係あんの?
再インスコ
だからXAMPPは素人に勧めたくないんだよな
OSは? チュートリアルどおりに正常にインストールが完了していれば 問題なく使えるようになっているはずだが なんか余計なことした?
php.infoが使えないサーバー ってのに、遭遇したんだが、 これってどこから設定するの?
「サーバーセキュリティのため、 それは使えません」 って英語で出てきた。
$a=array(1,2,3,,,,,,,,,,,); これってphpだとダメなんだね。
うん。
>>907 $a=array(1,2,3,"","","");
$a=array(1,2,3,null,null,null);
>>909 そうすればいいんかー
nullと空白って違うの?
どう違うの?
空白って英語ではなんていうの?
""なら nul string かな、ヌルストリング(ナルストリング)、長さ0の文字列。 nullはnull、文字列では無い。 空白つったらspace。
null string ですた。
ぬるぽ
ぬるぽってCのヌルポインタから来てるんだよな
ヌルポは韓国語で殴ってくださいの意味。 という話があってだな。
ヘヘヘヘヘヘヘヘヘヘ
918 :
nobodyさん :2009/09/04(金) 10:06:16 ID:+DFleHvH
サムネイルを指定したサイズでトリミングして作成したいのですが どうも中心がずれてしまいます。 $src_img=ImageCreateFromJPEG(元の画像); $img_w=ImageSX($src_img); $img_h=ImageSY($src_img); if($src_img){ //$resize_h,$resize_wトリミング後のサイズ //$new_h,$new_w縮小後の画像のサイズ if($resize_h>$resize_w){ $rate=$resize_h/$img_h; $new_w=$rate*$img_w; $new_h=$rate*$img_h; $dst_y=($new_h-$resize_h)/2;//位置の調整 }else{ $rate=$resize_w/$img_w; $new_w=$rate*$img_w; $new_h=$rate*$img_h; $dst_x=($resize_h-$resize_w)/2;//位置の調整 } $dst_img=ImageCreateTrueColor($resize_w,$resize_h); $result=ImageCopyResampled($dst_img,$src_img,0,0,$dst_x,$dst_y,$new_w,$new_h,$img_w,$img_h); ImageJpeg($dst_img,$resize_path.$img_name); imagedestroy($dst_img); imagedestroy($src_img); こんな感じなんですが、よろしくお願いします。
919 :
918 :2009/09/04(金) 10:27:33 ID:+DFleHvH
すいません ImageCopyResampled($dst_img,$src_img,-$dst_x,-$dst_y,0,0,$new_w,$new_h,$img_w,$img_h); ↑で解決しました。 昨日一日使ってうまくいかず imagecopyresampledのマニュアル(公式じゃない奴)調べなおしてうまくいきました。 お騒がせしました。
>>915 違う
JavaのNullPointerExceptionから
板違いかもしれませんが教えてください ネットワーク系のプログラミングはほとんど経験ありません どこかのHPの専用ブラウザを作るにはそのHPのソースが絶対にわからないとだめなのでしょうか この2ch専用ブラウザは誰が作ったのでしょうか お願いします
2ch専用ブラウザを作った人が作者です
PHPがセーフモードのとあるレンタル鯖Aで 「拡張子がphpのファイルをphp5スクリプト(cgiモード)として扱う」という設定があります。 各所の説明を見ると、CGIモードならセーフモードの影響を受ける機能が使える というような記述があるんですが、CGIモードにしても自作スクリプトが動いてくれません。 しかし、セーフモードである別のレンタル鯖Bだと問題なく動きます。 同じセーフモード環境下なのにAだけエラーが出る理由が分からないんですが、 phpini等の設定の違いでありえることなんでしょうか?
>>922 そんなことはないと思う。
大事なのは、どんなリクエストを送るとどんな応答が帰ってくるか。それだけ。
PHPでネットワークプログラムは・・・ 色々制限もあるしWebプログラムのプラットフォームでやるようなことじゃないとおもう
>>924 そりゃどういうエラーが出てるかをいわなきゃわからんだろ
パーミッションは?cgiで動かすなら755とかにしないとだめだよ
xamppの環境と相性のいいファイアーウォールソフトはなんですか? ゾーンアラームはMySQLがインストールできないので Outpost2009にしたのですが Outpostはトラブルが多いので別のにしたいのですが OSはXPです
今時ソフトウェアでファイアーウォール入れてる人はほとんどいない ルーターもってないの? もってるならいらないからアンインストールしていいよ
>>930 ADSLモデムを使ってるのですが
ポートを空けたりする必要があったりするやつには
いらないってこと?
>>930 ないわ
自分の環境が地球の中心だと思ってる自己厨乙
>>931 ルーター機能つきのモデムなんじゃない?(むしろADSLモデム機能つきルーターか)
ルーター自体がファイアーウォール機能が備わっている(外から中だけだけど)
ようするにルータがある状態ならバックドアだけに気をつけてればいいので
アンチウイルスソフトのみでいいというお話
(ここで遮断すれば中から外へ向かう悪意のあるソフトはインストールされないので)
XPからは中から外を検知するWindowsファイアーウォールなんてのもついてるしね
今時ルーターを通さないで直接接続してる人はまれだろう
(ブロードバンド契約時にルーターも貸し出されることが多い)
まだルーターが普及してないころに必要だったものなので
ソフトウェアのファイアーウォールは直接接続してる人にしかいらないもの
ソフトよりハードのほうが強力だしわざわざソフトとハードで二重にする必要はないよ(重いだけ)
>>932 初心者乙
ノートとかで外出するときにルータがあるかわからない環境で 接続するときなんかを想定すると必要になる場合もあるけど ルータがあってデスクトップで家のみで使う分にはいらない
>>933 >今時ソフトウェアでファイアーウォール入れてる人はほとんどいない
お前の頭の中が心配で仕方ない
>>933 ゾーンアラームのログを見たら
2年ぐらい使ってて外からの攻撃を受けたのが0件だったから十部ありえるんだよな
ゾーンアラームはしらないけど だいたい外からの攻撃として検出されるのは 攻撃前の下調べのポートスキャンが大半でしょ ルータのログには残ってるんじゃない?
ファイアーウォールの定義にもよるが、windowsでアンチウィルスソフト入れてれば 勝手に(パーソナル)ファイアーウォールは入ってるんじゃないの?
>>939 入らない。セットになってる製品もあるけどね。
たとえば俺が使ってるカスペルスキーの製品でも、
ファイアーウォール機能つきのKaspersky Internet Securityと、
アンチウィルスのみのKaspersky Anti-Virusがある。
他の会社の製品も大体似たような感じで、
ファイアーウォール機能つきとついてない2種類の製品を用意してる場合が多い。
ファイアーウォールはアプリケーションとしては重い部類に入るし、不要な干渉も多いので、
セキュリティに詳しい人でルーター入れてる人は避ける傾向にある。
>>940 詳しくなくて&phpと離れてしまって申し訳ないが
ルータのF/W機能で、Zone Alarmみたいにプログラム単位で許可・不許可を設定できる?
俺のiodataのルータだとそういうの見つからなかったから、ルータ側では使わないポート塞ぐ位しかしてない。
ルータ側がOSで動作しているアプリケーションを判別する方法がないでしょ。 結局できてもプロトコル別やポート別が限界じゃないかな。
>ルータのF/W機能で、Zone Alarmみたいにプログラム単位で許可・不許可を設定できる? できない。 ファイアーウォールってのは字のごとく外からの不正アクセスを火の壁でブロックする(イメージ)機能。 ルータが行うことはまさにこれでこれ以上のことはしない。 直接インターネットに接続してる場合、ポートが開いている状態になっているので、 これをソフトウェア的に閉じるのがZoneAlarmみたいなソフト。 このようなソフトウェアは外から中への監視に加え、中から外へ向かう通信も監視している。 中から外への監視というのは、ウイルスなどで自PCにサーバ機能をもつソフトなんかを、 知らない間に設置されてしまったときの検出には役立つが、基本的に必要性がない。 なぜなら自分で意図的にいれたソフトウェアは最初から信頼しているわけだからね。 (たとえば2chブラウザを使うために入れてわざわざ通信の許可するのは不要だと思わない?) それにウイルスに感染して上記のようなソフトを入れられた場合、 ルータをはさんでればポートが開くことはないのでその後の受け皿になることもないが、 ソフトウェアの場合、プロセスを強制終了させられて機能させなくすることも可能なので信頼性が低い。 上のほうでハード(ルータ)だソフトだいってるのはそういうこと。 ポートは基本的に全て開ける必要はないので全て閉じていい。 PHPの開発でApacheいれるにしてもlocalhostでの開発になるんだからわざわざ外に開ける必要はない。
944 :
924 :2009/09/07(月) 12:26:22 ID:???
>>927 xreaではないんです
>>928 Warning: session_start() [function.session-start]: SAFE MODE Restriction in effect.
で、スクリプトのディレクトリにtmpディレクトリ作ってsession.save_pathで指定してみたらエラーは消えたけど
ログインが出来ないっていう…。(ログイン成功で発行されるセッションの値がNULL)
945 :
nobodyさん :2009/09/08(火) 17:21:31 ID:8FIeNmpA
最初のflag1とflag2は表示されるんですが下のflagは何も表示されないのは何故ですか? while (list ($a, $b) = each ($c)){ $flag1 = eregi("test",$a); $flag2 = eregi("test",$a); echo $flag1; echo $flag2; } echo $flag1; echo $flag2;
>>945 $cの中身よく見てみな。
whileの最後のループでeregiマッチしなくて$flag1と$flag2に空が代入されているからだろ。
strpos使え
広告外すの規約違反じゃないの?
xampp 1.6.8でインストール後 workspaceの指定し mysqlのエンコードを設定後 bin/httpd.confに LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 追加すると apacheが立ち上がりません イベントビュアーで確認をとったところ 上記書き換え行のシンタックスエラーがでてるみたいなのですが subversionを使うには他に何か操作する必要があるのでしょうか? OSはXPSP2です ソフトはサクラエディタです ファイアーウォールはウィンファイアウォールです
class MyClass { private $width; public function __construct(){ 中身 } public function __destruct(){ 中身 } public function get_width(){return $this->width;} //@ } ちょっと色々と省略していますが、このthisはいったい何を意味しているのでしょうか? というよりも、@の部分はwidthプロパティを取得しているとの事らしいのですが、 $this->widthの部分が何をしているのかが分かりません すみませんが教えていただきたく質問させてもらいました
//$tihsは自分自身。 $foo=mew MyClass(); $foo->get_width(); //ならget_width()の$thisは$fooだし $boo=mew MyClass(); $boo->get_width(); //なら$boo。
いや公式マニュアル使えよ
PHPで、関数呼び出しをトレースする機能はありますか。 あるアプリケーションをメンテナンスすることになったのですが、動作がわからず困ってます。 せめて ・どのファイルが読み込まれたのか ・どの関数が呼び出されたのか を知ることができたらと思い、質問させていただきました。 よろしくお願いします。
>>959 backtraceはちょっと求めるものとは違いました。
debug_backtrace()を使うには、すでに呼び出されることがわかっているコードの中で呼び出す必要がありますが、
どのコードが呼び出されるのかまるでわかってない場合には使いづらいです。
Xdebugについては知りませんでしたので、調べてみます。
ありがとうございました。
calltreeが欲しいのかな?
gtags やまともなエディタだったりして
<?php $to='メールアドレス@hotmail.co.jp'; $subject='テストメール'; $body='こんにちは、世界!'; if(mb_send_mail($to,$subject,$body)){ print('メール送信に成功しました。');} else {print('メール送信に失敗しました。'); } ?> と書いたら、Fatal error: Call to undefined function mb_send_mail() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\samples\chap4\sendmail.php on line 5 と出てきました php.iniの設定もSMTP、sendmail_fromともにちゃんと設定したつもりなのですが、何故メールを送れず構文エラーが出るのでしょうか? ちなみにこの構文は参考書のコピーなのですが
mb_string.dllをロードしてないんじゃ?
php_mbstring.dllだった
>>964 php.iniのextension=php_mbstring.dllの事でしょうか?
もしそれならばちゃんと設定してあります
その環境で、mb_系の関数動くか、簡単に試してみよう
>>963 phpinfoにmbstringが有効になってるか確認してください
971 :
970 :2009/09/10(木) 15:46:49 ID:???
あっ、バージョンはphp-5.2.10-Win32.zipとapache_2.2.13-win32-x86-openssl-0.9.8k.msiの組み合わせです
972 :
969 :2009/09/10(木) 15:47:41 ID:???
なぜスルーされたんだ・・・
973 :
970 :2009/09/10(木) 15:51:06 ID:???
>>972 さん
あっ、ごめんなさい今確認しているところです・・・すみません
974 :
970 :2009/09/10(木) 15:56:42 ID:???
すみません、phpinfoで確認してみたのですが、mbstringの欄が見当たりません F4機能でも文字検索してみたのですが、ありませんでした・・・orz
975 :
970 :2009/09/10(木) 16:38:53 ID:???
その後、ネットで検索して問題解決に努めたのですが、 Configure Command で cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" "--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared" と書いていて、mb_stringは入っていないようでした で、色々と実験してみたのですが、やっぱり解決しませんでした この場合どのようにすればいいのでしょうか? 一度アンインストールとかして最初からした方がいいのでしょうか?
--enable-mbstringでビルドすればいいじゃない
977 :
970 :2009/09/10(木) 17:08:16 ID:???
>>977 コンパイル済みのバイナリじゃなくて自分でコンパイルしなさいよってことじゃないかと
979 :
970 :2009/09/10(木) 17:47:15 ID:???
>>978 さん
PHPは筆記で今までやってきてそこそこ出来るようになったのですが、こういう設定の方はまだまだサッパリの初心者です
http://www.aconus.com/~oyaji/www/apache_linux_php.htm こういうサイトを見つけたのですが、僕の問題の場合、Apacheの設定をしなければならないのでしょうか?
自分で--enable-mbstringを入れると言っても、いったい何のどこに加えればいいのかが分かりません
そもそも、このcongirureというものが良く分かりません
上記のサイトのPHPをインストールって箇所の黒い枠の部分に辿り着く方法がそもそも分からないのです
>>979 windows環境でしょ?linuxの解説みて混乱しないでね。
phpのインストールはどこにした?
php.iniのextension_dirにphp_mbstring.dllある?
984 :
970 :2009/09/10(木) 18:15:14 ID:???
>>981 さん
あ、linuxでしたね、すみませんw
php_mbstring.dllはありますし、
php.iniの設定で、extension=php_mbstring.dllとしていますし、
extension_dirの指定ファイル先に、php_mbstring.dlというものがありますl
985 :
970 :2009/09/10(木) 18:16:41 ID:???
>>982 さん
やっぱ再インストールですかね?
再インストールの場合は、PHP、Apache、どちらを再インストールすればいいのでしょうか?
>>983 さん
そのスレは見て、それと参考書を加えた設定でやりました
読み込んでるphp.iniが違うんじゃないの?
987 :
nobodyさん :2009/09/10(木) 21:22:39 ID:Wu0Ynk2e
処理がタイムアウトした場合に次の処理に移動する方法がわからないよーー set_time_limit();だと処理に時間掛かりすぎるから 30秒待ったら次の処理に行きたいんだけど 無理なのかーー
989 :
970 :2009/09/10(木) 22:23:35 ID:???
おまいさんwindowsじゃなかったのけ?
991 :
970 :2009/09/10(木) 22:31:32 ID:???
>>990 Windows XPです
コレはphp.iniとかの問題じゃなく、自分のパソコンのOSの問題とかあるのでしょうか?
mbstring を使用する方法 a. 静的ライブラリとして組み込む方法 b. 共有ライブラリとして使用する方法 c. Windows 環境の場合 って書いてあるじゃないか・・・
>>991 phpはzip解凍するだけ
apacheはmsiでインストール
あとはphh.iniとhttpd.confを確認するだけで平気なはずだが・・・
>>986 でも書かれてるように、読み込んでいるphp.iniが違うというのはないのか?
windowsは最近はインストーラの方向にシフトしてくみたいだけどね
995 :
970 :2009/09/10(木) 22:35:48 ID:???
>>992 では、a.とb.はLinuxなどの別のOS用のやり方なのでしょうか?
で、c.のやり方・・・
c. Windows 環境の場合
ダウンロードした PHP のパッケージの中に、php_mbstring.dll が含まれています。
php.ini で extension_dir と extension を設定します。
extension_dir = "C:/php/ext"
extension=php_mbstring.dll
ですけれど、それは既に何度も確認しています
997 :
970 :2009/09/10(木) 22:37:50 ID:???
>>993 mb_string以外は .phpファイルは出来るのですが、mb_stringだけ出来ません
一応もう一度読み込むphp.iniを確認してみます
998 :
970 :2009/09/10(木) 22:42:12 ID:???
doc_root="C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" extension_dir = "C:/php/ext" はファイル先は合っていますし、 extension=php_mbstring.dll もコメントは抜けています でも出来ません・・・
phpinfoで確認するんだよ
このスレは1000の風になりました
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。