1 名前:nobodyさん mailto:sage [2008/06/13(金) 20:32:36 ID:???] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 PHP使いが優しくコメントを返しますが、 お礼はPHPの布教と初心者の救済をお願いします。 PHP Home Page www.php.net/ jp.php.net/ 前スレ: くだすれPHP(超初心者用)3 pc11.2ch.net/test/read.cgi/php/1193295871/ 適当に関連スレ(マルチはだめぽ) 【PHP】下らねぇ質問はここに書き込みやがれ 69 pc11.2ch.net/test/read.cgi/php/1211879073/
308 名前:nobodyさん [2008/09/21(日) 20:19:14 ID:uUB1weY6] すみません、ほんとに基本の質問だと思いますが .htmlファイルの中に <?php include('file.php?pass=123'); ?> としましたが、includeが実行されません 拡張子は常に.phpでなければいけないんでしょうか?前に試した出来たような気がしたんですが、、 また、上記のようなインクルードファイルに引数をつけた場合、 file.phpの中で$_GET['pass']としてを解釈することは出来るでしょうか? どなたかご回答お願いします
309 名前:nobodyさん mailto:sage [2008/09/21(日) 20:28:27 ID:???] 無理
310 名前:nobodyさん mailto:sage [2008/09/21(日) 20:29:10 ID:???] >>308 俺の経験では出来ない。 file.phpの中に関数f_fileを書いて以下の様にすればいい。 <?php include('file.php'); f_file('123'); ?>
311 名前:308 [2008/09/21(日) 20:49:34 ID:uUB1weY6] >>309-310 ありがとうございました phpは .htmlの拡張子のファイルでは動かないということでいいでしょうか? また、二つ目の質問に関しては okwave.jp/qa4336105.html という解決法を見つけました >>310 さんの答えと合わせて考えたいと思います
312 名前:nobodyさん mailto:sage [2008/09/21(日) 21:12:27 ID:???] >>311 できる addtypeでググってみ
313 名前:300 [2008/09/21(日) 22:14:17 ID:G8wZRX1E] >>306 ありがとうございます。 自分の持ってるPHP辞典には記載されてなかったでわかりませんでした。 なんとも中途半端な仕様ですね。
314 名前:nobodyさん [2008/09/21(日) 22:33:44 ID:aDAFCUyF] しつもーん。 ttp://jp.php.net/manual/ja/functions.arguments.php > 注意: PHP 5以降、デフォルトで値はリファレンス渡しとなります。 の、主語というか目的語というか、ナニのデフォルトが参照渡しになるんでしょか。 function alter($str){ $str = $str . '!'; } $nya = 'nya'; alter($nya); echo $nya; は PHP 5.2.0-8+etch9~bpo31+1 (cli) では $strを 変更せずに nya が表示されました。
315 名前:nobodyさん mailto:sage [2008/09/21(日) 23:03:33 ID:???] それは日本語版スタッフの訳が悪いと思う。 原文読むといいかと。 jp.php.net/manual/en/functions.arguments.php
316 名前:nobodyさん mailto:sage [2008/09/21(日) 23:22:56 ID:???] 引数がデフォルトでリファレンスよ やってみれば分かるが&付けなくても参照元の値も変わるぜ 余談だが PHP4では 「&$arg=null」なんてデフォルト引数が使えないんだが、PHP5から問題なく通る 呼び出し時に引数指定したかどうかでスイッチしてんだろうなぁ
317 名前:nobodyさん mailto:sage [2008/09/21(日) 23:29:51 ID:???] >>314 では&無しでは変わってなくないか?
318 名前:nobodyさん mailto:sage [2008/09/22(月) 01:05:35 ID:???] PHPで逆IP制限ってできる・・・? 変数$aに1が入ってる時だけ変数$bに入ってるIP以外からのアクセスがあった場合にifコマンド使って、 他の内容を表示するの。
319 名前:nobodyさん mailto:sage [2008/09/22(月) 01:09:02 ID:???] IP見て比較すれば普通にできるんでない?
320 名前:318 mailto:sage [2008/09/22(月) 01:10:00 ID:???] if ( !strcmp ( $ip_address, $list_ip ) ) これ使っていけるかな・・・・・・?
321 名前:318 mailto:sage [2008/09/22(月) 01:10:58 ID:???] >>319 それなぜか思いつかなかった。トンクス。
322 名前:318 mailto:sage [2008/09/22(月) 02:51:53 ID:???] txtファイルから文字列読み込んだときに改行まで読み込まれて比較ができない。 どうすればよいですか?
323 名前:nobodyさん mailto:sage [2008/09/22(月) 03:00:08 ID:???] 改行文字を除いてから比較すれば?
324 名前:318 mailto:sage [2008/09/22(月) 03:15:17 ID:???] >>323 どうもうまくいかなかった......... <?php $ip = $_SERVER['REMOTE_ADDR']; $str = "$ip"; $len = strlen($str); $handle = fopen('ip.txt','r'); $contents = fread( $handle, $len ); fclose( $handle ); echo $contents."<br />\n"; if($ip==$contents){ echo "成功"; } else{ echo "失敗"; } ?> ipアドレスの文字数分引っ張り出して比較することで回避できた。
325 名前:nobodyさん mailto:sage [2008/09/22(月) 03:21:01 ID:???] ip.txtに入ってるIPの方が今アクセスしてる人のIPより長かったらどうすんの?
326 名前:318 mailto:sage [2008/09/22(月) 03:24:26 ID:???] >>325 したら絶対IP違うからエラーでていいんでない?
327 名前:318 mailto:sage [2008/09/22(月) 03:27:42 ID:???] 一時的にip.txtの中に入ってる一番最初のIPの人以外見せたくないものを作るんだ。 処理が終われば解除されるようなかんじで。
328 名前:nobodyさん mailto:sage [2008/09/22(月) 03:39:53 ID:???] 212.134.32.14 と 212.134.32.143
329 名前:nobodyさん mailto:sage [2008/09/22(月) 06:54:54 ID:???] >>317 変わってないな
330 名前:nobodyさん mailto:sage [2008/09/22(月) 12:43:54 ID:???] PerlのNet-CIDRを移植したら?
331 名前:nobodyさん [2008/09/22(月) 15:10:26 ID:EKIEGJ69] phpでカート作成のHP教えて
332 名前:nobodyさん mailto:sage [2008/09/22(月) 15:12:32 ID:???] >>331 www.nintendo.co.jp/ds/amcj/
333 名前:nobodyさん [2008/09/22(月) 15:19:02 ID:EKIEGJ69] ありがとう><;
334 名前:nobodyさん mailto:sage [2008/09/22(月) 16:42:16 ID:???] ワラタ
335 名前:nobodyさん mailto:sage [2008/09/22(月) 16:44:51 ID:???] >>331 ショッピングカートの基本はセッションを上手く扱うことだと思う 具体的なカート作成のサイトはなくてもセッションに関する記事は多いから、そこから学べば良いかと どうせ学習目的とかでしょ?
336 名前:nobodyさん [2008/09/23(火) 01:10:46 ID:KzC+qHTk] >>312 ありがとうございます! 助かりました!
337 名前:nobodyさん [2008/09/23(火) 12:55:10 ID:BK/ZFWc8] ちょっとまてよ、>>331 はPHPを使ってカートを作るHPというのを教えて欲しいんじゃないか?
338 名前:nobodyさん mailto:sage [2008/09/23(火) 12:59:43 ID:???] さあ?
339 名前:nobodyさん mailto:sage [2008/09/23(火) 13:06:07 ID:???] >>331-333 の流れでネタのようにしか思えん
340 名前:nobodyさん mailto:sage [2008/09/23(火) 13:08:38 ID:???] >>318 は日本語の勉強から始めないと意図が伝わりにくいと思うが まず何が目的で特定IP以外からのアクセスを制限したいかが不透明 内容からするに何らかの処理をしている期間は別の接続者を拒否したいって意味のようだが その処理ってのが何度もリクエストを受けて完了するもだとしたら --- アクセスがある ↓ 閲覧者IPのデータを確認する─(IP記録なし)→閲覧者IPを記録し結果表示 ↓<(IP記録がある) IP比較─(一致)→結果表示 └(不一致)→拒否 --- こんな感じでコード書けばいいだろ 記録IPをいつ削除するかは知らんけど、この処理書くどこで詰まってるの? もし、一回のリクエストの結果表示までにすべて処理が終わってしまうようなものだったら ファイルロックとかの方法でも調べれれ。IPを比較する意味ない あとどうでもいいけど改行の削除は置換を使えよ
341 名前:nobodyさん mailto:sage [2008/09/23(火) 13:10:56 ID:???] <?php echo(">>331 \n"); echo("このサイトを見れ\n"); echo("www.nintendo.co.jp/ds/amcj/ "); ?> つまりこういうことだな
342 名前:nobodyさん mailto:sage [2008/09/23(火) 14:16:43 ID:???] echoで括弧を付けるのはダサい
343 名前:nobodyさん mailto:sage [2008/09/23(火) 14:20:41 ID:???] echoはカッコ付けなくてもエェ子やで
344 名前:nobodyさん mailto:sage [2008/09/23(火) 18:25:40 ID:???] PHPなんて久しぶりに書いたから忘れてたわw えーこと聞いた
345 名前:nobodyさん mailto:sage [2008/09/23(火) 19:38:04 ID:???] fopenを使ってURLを開くとき 複数のURLに対して並列に処理を行いたいんだけど どういう風にやればいいですかね? 最悪参考になりそうなサイト教えてください。
346 名前:nobodyさん mailto:sage [2008/09/23(火) 19:52:08 ID:???] fopenはブロックするから並列処理には向かない
347 名前:nobodyさん mailto:sage [2008/09/23(火) 20:59:24 ID:???] >>346 ブロック?とはどういうことでしょうか? 並列処理に向いているfopenに代わる関数を 教えていただけるとありがたいです。
348 名前:nobodyさん mailto:sage [2008/09/23(火) 21:01:16 ID:???] そんなのない
349 名前:nobodyさん mailto:sage [2008/09/23(火) 21:05:07 ID:???] じゃあfopenでがんばるとして 並列処理を行うにはどうすればよいでしょうか? というかPHPでそんなことするなってことでしょうか?
350 名前:nobodyさん mailto:sage [2008/09/23(火) 21:18:43 ID:???] >>345 HTTPDのプロセスを複数起動
351 名前:nobodyさん mailto:sage [2008/09/23(火) 21:31:31 ID:???] >>345 ちなみにPHPではマルチスレッドはできない。 プロセスで何とかする。
352 名前:nobodyさん mailto:sage [2008/09/23(火) 22:13:13 ID:???] なるほどプロセスを複数起動ですか とりあえずその方向でググったりしてなんとかしてみます ありがとうございました
353 名前:nobodyさん mailto:sage [2008/09/24(水) 23:43:55 ID:???] $a=1; $b=9; $c=3; 「bが一番大きいです。」 と表示させたいのですが、maxだと数値しか返ってこないし・・・ 教えていただけると幸いです。
354 名前:nobodyさん mailto:sage [2008/09/25(木) 00:11:02 ID:???] >>353 変数名を取得することは出来ないから値の管理方法を変えよう 出来ないなら諦めるしかないと思う 例: 連想配列 $var = array( 'a' => 1, 'b' => 9, 'c' => 3, );
355 名前:nobodyさん mailto:sage [2008/09/25(木) 00:19:45 ID:???] ありがとうございます!
356 名前:nobodyさん mailto:sage [2008/09/25(木) 00:20:07 ID:???] いいてことよ
357 名前:nobodyさん mailto:sage [2008/09/25(木) 05:09:05 ID:???] ちょっと疑問に思ったんだけど、 連想配列の場合、 $var = array( 'a' => 1, 'b' => 9, 'c' => 3, 'd' => 9, ); この場合、どうなるんだろ?
358 名前:nobodyさん mailto:sage [2008/09/25(木) 05:29:20 ID:???] 何がどうなるんだろなのかわからないけどこういうこと? $var = array('a'=>1, 'b'=>9, 'c'=>3, 'd'=>9); $keys = array_keys($var, max($var)); var_dump($keys);
359 名前:nobodyさん mailto:sage [2008/09/25(木) 06:08:13 ID:???] >>358 この出力結果ってb dってなるのかな?
360 名前:nobodyさん mailto:sage [2008/09/25(木) 06:21:43 ID:???] お前は何を言ってるんだ
361 名前:テスト mailto:sage [2008/09/25(木) 23:34:41 ID:???] てす
362 名前:あ mailto:sage [2008/09/25(木) 23:39:24 ID:???] てすと
363 名前:nobodyさん [2008/09/27(土) 20:36:51 ID:Zle5Z5JO] return文と返り値がよく分からないんですが PHPのマニュアルを見てもさっぱりです どなたかreturn文が詳しく書いてあるサイト知っていたら教えてください
364 名前:nobodyさん mailto:sage [2008/09/27(土) 20:53:26 ID:???] >>363 returnについてなんてマニュアル以上のことが書いてあるサイトはないと思うぞ 何が分からなくて、何が知りたいんだ?言ってくれれば答えるが
365 名前:nobodyさん mailto:sage [2008/09/27(土) 21:09:22 ID:???] function hoge() {
366 名前:nobodyさん mailto:sage [2008/09/27(土) 21:15:49 ID:???] $a = 'a';
367 名前:nobodyさん mailto:sage [2008/09/27(土) 21:18:59 ID:???] return $a;
368 名前:nobodyさん mailto:sage [2008/09/27(土) 21:20:42 ID:???] }
369 名前:nobodyさん mailto:sage [2008/09/27(土) 21:27:34 ID:???] $huga = hoge();
370 名前:nobodyさん mailto:sage [2008/09/27(土) 21:31:06 ID:???] この場合、$hugaには 「ああ゛っでるっ…!!たまみるくでるっ!! でっでるうっブリジットのこくまろミルクぅ」 が入ります
371 名前:nobodyさん [2008/09/28(日) 21:34:07 ID:+UcDtbz0] PHPの動作確認のページが Not Found The requested URL /phpinfo.php was not found on this server. Apache/2.0.63 (Win32) PHP/5.2.6 Server at localhost Port 80 と出てしまいます。どなたか教えていただけませんか?
372 名前:nobodyさん mailto:sage [2008/09/28(日) 21:37:11 ID:???] マルチ乙
373 名前:nobodyさん mailto:sage [2008/09/28(日) 22:52:10 ID:???] >>371 「/phpinfo.phpが無い」って書いてあるじゃないか。 これ以上何を教えろというのか
374 名前:nobodyさん mailto:sage [2008/09/29(月) 20:16:12 ID:???] マンモス本2冊買った。1回一通り読んだけど、インストールからわけわからん。 なにをDLしたらいいのかさっぱりぜよ・・・。
375 名前:nobodyさん mailto:sage [2008/09/29(月) 20:39:55 ID:???] それはプログラミング以外に問題がありそうだが・・・
376 名前:nobodyさん [2008/09/29(月) 22:54:33 ID:ex4B3ZuI] PHPの確認動作で、phpinfo.php.txtとアドレスに表示されたまま、 画面には<? phpinfo(); ?> と出てしまいます。 明らかに間違いですが、何がおかしいと思いますか? どなたか教えてください。
377 名前:nobodyさん mailto:sage [2008/09/29(月) 23:01:53 ID:???] 誰か、華麗に答えてやってくれ。華麗にだぞ?
378 名前:nobodyさん mailto:sage [2008/09/29(月) 23:39:32 ID:???] >>376 マルチ乙(どう?華麗でしょ
379 名前:nobodyさん mailto:sage [2008/09/30(火) 00:43:56 ID:???] >>374 ?
380 名前:nobodyさん mailto:sage [2008/09/30(火) 16:45:48 ID:???] >>376 拡張子txtがPHPのファイルとして定義されていないから。
381 名前:nobodyさん [2008/10/01(水) 05:38:30 ID:ggjV1Mvy] getMessage()について質問させてください ttp://www.php-labo.net/tutorial/class/pear.html でgetMessage()が定義されてないのにエラー表示のときに表示するとありますが どうしてなのでしょうか? よろしくお願いします
382 名前:nobodyさん mailto:sage [2008/10/01(水) 06:04:37 ID:???] require_once 'DB.php'; してるから
383 名前:nobodyさん [2008/10/01(水) 09:00:47 ID:12eBxrbJ] www.php.net/manual/ja/language.operators.comparison.php この辺のことだと思うのですが、質問させてください。 $a == $bのところで、日本語の文字を使うには、 $a == "日本語"のようにすると思うんですけど、 これは、「日本語」に等しいということですよね。 たとえば「日本」を含む文字列の条件を指定したいとき、 どうしたらいいでしょうか? 条件の分岐で、「日本語」も「日本人」も「日本古来」もその他も 一括して指定したい、という感じなのですが。よろしくお願いします。 的をはずしていたらごめんなさい。
384 名前:nobodyさん mailto:sage [2008/10/01(水) 09:22:18 ID:???] mb_ereg_match
385 名前:nobodyさん mailto:sage [2008/10/01(水) 10:43:40 ID:???] できました! ありがとうございます。 もうひとつ合わせて質問なのですが、 完全に一致するものを、$a == "アメリカ"として 部分的に一致するのを、mb_ereg_match("[日本]",$a)として、 それぞれ処理をしようとしています。 else ifでつなげたほうがいいのですか? 別のifとして分けたほうがいいですか? それとも、どっちでもいいですか?
386 名前:nobodyさん mailto:sage [2008/10/01(水) 11:56:07 ID:???] >>385 分けるかどうかはやりたいことによって違うからなんともいえないけど、 今回の場合は分けなくていいでしょ。 分けちゃうと一回アメリカと完全一致したものをもう一回日本が含まれてるか 判定することになるから余計な処理になる。
387 名前:nobodyさん mailto:sage [2008/10/01(水) 12:12:38 ID:???] なるほどー! では、どんどんつなげていくことにしますね。 よく判る説明で、助かりました。ありがとうございます!
388 名前:nobodyさん mailto:sage [2008/10/01(水) 12:54:11 ID:???] >>387 注意 ヒント ある文字列が他の文字列内に含まれているかどうかを調べるためだけに preg_match() を使うのは避けた方が良いでしょう。 strpos() か strstr() 関数を 使う方が速くなります。 jp.php.net/manual/ja/function.preg-match.php
389 名前:nobodyさん mailto:sage [2008/10/01(水) 13:20:15 ID:???] すみません、参照先を見たけど、書き方がよくわかりませんでした。 $aに入る文字列は数十文字くらいの短いもので、それを見ています。 早さはそんなに変わらないと思うので、このままで大丈夫ですよね?
390 名前:nobodyさん [2008/10/01(水) 22:32:30 ID:HCEY5R1b] 質問させて頂きます。 基礎からのPHPorやさしいPHPを買おうか迷ってるのですが、 基礎からのPHPはアプリが動作しないと聞きました。 自分は、アプリの有無よりも文法やクラス(?)、データベースの基礎を学びたい と思っているのですが、そのような場合はアプリの動作は気にしなくてもよいでしょうか? その他の面(参考書としての面)では良いと聞くので。 書籍スレでの質問はナンセンスだと感じたのでこちらでさせて頂きました。 ご教授願います。
391 名前:nobodyさん mailto:sage [2008/10/01(水) 22:49:30 ID:???] 動作しないわけないだろ
392 名前:nobodyさん mailto:sage [2008/10/01(水) 22:56:32 ID:???] マジレスすると(ry
393 名前:nobodyさん mailto:sage [2008/10/01(水) 23:58:01 ID:???] オライリーの初めてのPHP+mysqlがいいと思います。 もしくは実践マスターか。 基礎からのPHPorやさしいPHPは意味がないと思います。 特に基礎からのPHPはアプリが動作しませんでした。 びっくりです。 これは捨てました。 アプリを改造していくといろいろスキルがあがってくるので、 ただ本見てもおもしろくないと思いますし。 アプリが動くやつがいいと思います。 では
394 名前:nobodyさん [2008/10/02(木) 10:20:57 ID:Qa3+G5H3] あるphpで、別のphpを呼び出すのに、こうやって書いています。 <?php include('ini.php'); ?> この、ini.phpを、別のサーバにおいて呼び出したいのですが、 <?php include('http://別のサーバ/ディレクトリ名/ini.php'); ?> みたいにやっても、うまくいきません。 どこでつまづいていて、どうすればいいのか、教えてください。
395 名前:nobodyさん mailto:sage [2008/10/02(木) 10:40:39 ID:???] > どこでつまづいていて 基礎的な理解からつまづいてる ... をinclude = webサーバ経由でinclude = ini.phpの「実行結果」をinclude ini.phpの「内容」をincludeしたいなら、ftp経由にするとか、 ini.phpをincludeしたい内容の文字列を返すものにするとか。
396 名前:nobodyさん [2008/10/02(木) 10:59:48 ID:Qa3+G5H3] ありがとうございます。もうちょっと勉強してみます。
397 名前:nobodyさん mailto:sage [2008/10/02(木) 18:21:25 ID:???] うまくいかないといってもパースエラーが出るのか空文字が返ってくるのか接続できないとWarningが返ってくるのか によって全く違う。 こういうのが「うまくいかない」しか書かない心理って何なの?
398 名前:nobodyさん mailto:sage [2008/10/02(木) 18:25:19 ID:???] 考えるのすら面倒なんでしょ
399 名前:nobodyさん [2008/10/02(木) 20:57:18 ID:JC9hPbTs] >>393 ありがとうございます。オライリーですか、参考にしてみます。 にしても、やさしいPHPのレビューってないですね。 あと基礎PHPとかはもう古いのかな‥
400 名前:nobodyさん [2008/10/02(木) 21:31:32 ID:PvYZxYkH] 変数のスコープについての質問です。 mona.php <?php $a = 1; include("giko.php"); include("fusa.php"); ?> giko.php <?php $b = 2+$a; ?> ってあったときに$aがincludeされたファイル内でも利用だというのはわかったのですが giko.phpの$bはmona.phpやfusa.phpで見れるのでしょうか? ユーザー定義の関数の予定はないです。
401 名前:nobodyさん mailto:sage [2008/10/02(木) 21:41:47 ID:???] 100回includeのページを読め
402 名前:nobodyさん [2008/10/02(木) 21:55:19 ID:PvYZxYkH] >>401 スコープの方を必死に検索かけてました includeの方で調べればよかったんですね ありがとうございます
403 名前:nobodyさん [2008/10/06(月) 07:28:33 ID:eMKnyKHT] PHPでpearのパッケージを利用したいのですが インストールの仕方が分かりません ttp://www.php.net/manual/ja/install.phpには拡張モジュールしかないので よく分かりませんでした ttp://pear.php.net/manual/ja/installation.getting.php に書いてあるように コマンドプロンプトを使えばいいのですが コマンドプロンプトの使い方が分からないので 使い方を教えてください よろしくお願いします
404 名前:nobodyさん mailto:sage [2008/10/06(月) 07:48:42 ID:???] >PEAR インストールのアップデートを行うには、 pear.php.net/go-pear をブラウザで表示してその出力をローカルファイル > go-pear.php に保存します。そして次のコマンドを Windows のコマンドプロンプトで実行してください。
405 名前:403 [2008/10/06(月) 07:56:08 ID:eMKnyKHT] レスありがとうです 多分その上の行らへんでつまずいていると思います >PHP をダウンロードしインストールが完了したら、 >バッチファイルを実行します。 というのはダブルクリックだけでいいんでしょうか? するとコマンドプロンプトが出てくるだけですが >インストールしたフォルダへのパスを >PATH 環境変数に追加します。 手動で追加する > (スタート > コントロールパネル > システム > 環境変数) >以上で、Windows のコマンドプロンプトから pear コマンドを使い PEAR パッケージマネージャを実行できるようになります。 pealパッケージとは PHPをインストールした時点で使用できるわけではないと思うので 多分ここでつまずいてます よろしくおねがいします
406 名前:nobodyさん mailto:sage [2008/10/06(月) 08:05:35 ID:???] バッチファイルの方はやらなくていいよ go-pearの方保存して実行すればおk
407 名前:403 [2008/10/06(月) 08:13:05 ID:eMKnyKHT] ありがとうございます 確認させてください go-pear.phpというファイルを作ってそこに pear.php.net/go-pear のソースをコピペ そのあと保存先はC:\phpで コマンドプロンプトで php go-pear.php を実行するんですよね? 実行すると『内部コマンドや外部コマンド バッチファイルなどと認識されませんでした』 と表示されます C:\PHP\PHP-pear.phpを実行しても エディタが起動するだけでした よろしくお願いします
408 名前:nobodyさん mailto:sage [2008/10/06(月) 08:15:52 ID:???] phpの実行ファイルがある場所に移動してから実行すべし