【PHP】下らねぇ質問はID出して書き込みやがれ 76
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/13(木) 04:15:32ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0341nobodyさん
2008/11/20(木) 18:52:39ID:???随分と疑い深い性格だね
要するにPHPの処理機構を信頼できないわけだな?
includeできる状態でincludeできないというのは起こりえない
その起こりえないケースを想定するなんて時間の無駄
0342nobodyさん
2008/11/20(木) 18:53:18ID:AwsGLaDA何を推測していただいたのか判りませんが、
私の頭の思考回路のことなら、たしかに問題あるでしょうね。
0343nobodyさん
2008/11/20(木) 18:56:18ID:???0345nobodyさん
2008/11/20(木) 19:01:31ID:HLYnX99eしかし変数を初期化すると、
ボタンを押しても何も表示されなくなるんだよ
なんでなんだろうね?
0346nobodyさん
2008/11/20(木) 19:01:45ID:AwsGLaDAPHPが信用できないとは書いていませんし、そう思っている
わけでもありません。
状態を確認してから実際にincludeするまでの間に、
何かが起こる可能性を無視できないんではないかと言っている
だけです。
無視できる人は無視すればいいです。私も無視しています。
0347nobodyさん
2008/11/20(木) 19:01:58ID:???0349nobodyさん
2008/11/20(木) 19:03:32ID:HrZmpLyBphpの本を買ったところ、php.iniの設定が必要とありました。内容は
extension = pdo_mysql.so
として、「MySQLのPDOドライバを有効にする」ということでした。
これは、この通りに書けばいいものなのでしょうか?
拡張ファイルpeclを落とさなきゃいけないのかなと思ったのですが不要ですか?
また、拡張ファイルディレクトリ(C:\php\ext)を見たところ
php_mysql.dll があり、phpinfo(); で見ても
pdo_mysql
PDO Driver for MySQL, client library version 5.0.45
とう項目があります。
これは関係ないんでしょうか?
設定関連が皆目わからないのでかなり妙な質問をしてるかもしれませんが
よろしくお願いします。
0350nobodyさん
2008/11/20(木) 19:04:03ID:???>「includeできる状態」かどうかわかりませんよ。
PHPの内部エラーかサーバのエラーとか想定外のエラーが起きた時にどうするんだみたいな?
昔そんな質問してきた新人がいて返答に困ったな。
そういうのは想定しなくていいとしか言えなかった。
というかID:AwsGLaDAは流れ的に>>291の式を支持してるんだよね?
↑の発言からするとID:AwsGLaDA的には>>291の式も信用できないんじゃないのかね?
0352nobodyさん
2008/11/20(木) 19:06:27ID:???0353nobodyさん
2008/11/20(木) 19:08:20ID:AwsGLaDA「ファイルがないケースもあるから、Warningでるとうざいし、
チェックしとこか」というケースなら、291を書くかもしれません。
330の「正解」という言葉に過敏に反応してレスしているだけです。
0356nobodyさん
2008/11/20(木) 19:11:14ID:???>>346では無視してるといいつつ>>303では私のところではそうではない(無視してない)って・・・
0357nobodyさん
2008/11/20(木) 19:12:20ID:AwsGLaDA335で書いているように、
「自分の正解がみんなの正解とは限らない」です。
前提条件を共有しているならその限りではないです。
0358nobodyさん
2008/11/20(木) 19:14:35ID:HrZmpLyBどうもありがとうございます
.soっていうのはリナックス向けなんですかね? とにかく助かりました、ありがとう。
0360nobodyさん
2008/11/20(木) 19:15:48ID:AwsGLaDAあ、ごめんね。
303で書いたのは、302の「書き手がそこまで責任を負うことはない」
の部分へのレスでした。
0361nobodyさん
2008/11/20(木) 19:18:59ID:HLYnX99ephpでは、ハッシュと言わずに連想配列と言うの?
0363nobodyさん
2008/11/20(木) 19:19:56ID:???>自分の正解がみんなの正解とは限らない
めんどくさい人だなw
学校の先生ですか?
この世界は答えは1つなんですよ
includeは制御構造であって関数じゃないんです
0364nobodyさん
2008/11/20(木) 19:23:07ID:AwsGLaDA「この場合」って >>285 とか?
自分で 285 のコード書いたとして、
特に問題があるとは思いません。
1から31まで用意しておけば動くんでしょ?
0365nobodyさん
2008/11/20(木) 19:26:09ID:???includeするタイミングとか方法の話をしてるんじゃないのか?
0367nobodyさん
2008/11/20(木) 19:34:27ID:AwsGLaDAえーと?
「includeできる状態」をチェックするのがWarningを抑制するためなら、
めんどくさいから
@include();
でいいんじゃないかと。
それ以外の理由なら、その理由による。
0368nobodyさん
2008/11/20(木) 19:40:56ID:???期待はずれでがっかりしたよ
随分自己主張するもんだから期待してたのに
そんな下らない答えだしてくるなら絡みなさんな・・・
0369nobodyさん
2008/11/20(木) 19:45:38ID:AwsGLaDA何を期待していたんですか?
たぶん私が考えている「この場合」と他の人のが
違うんでしょうね。まあ当然だけど。
0370nobodyさん
2008/11/20(木) 19:51:38ID:HLYnX99e一般的に、GETで入力値を受け取るのは、危険な行為?
0371nobodyさん
2008/11/20(木) 20:06:49ID:???0372nobodyさん
2008/11/20(木) 20:22:41ID:???include時の処理なんてクライアント次第だろ
細かくエラー情報残したいってクライアントなら
別々に書いて細かくエラー情報書いたりするし
ある前提でいいよと言うクライアントには
@で制御するだけでいいだろ
そもそもそのチェックが通らないと
画面が真っ白とかっていう状態になるのが
容易に想定できるなら話は別だが
>>370
ちゃんと値チェックすればいい
因みに配列は連想配列と言うほうがPHPでは一般的
あと$_POSTや$_GET等には値を自分で入れ無い方が良い
$defData = $_POST['def'];
等として$defDataを使えば良い
まぁ値を代入する前に値チェック等はきっちりした方が良いけどね
0373nobodyさん
2008/11/20(木) 20:30:21ID:???includeまわりをクライアントがどうこう注文つけてくると思うか?
保守だってクライアントがやるわけじゃないしアフォか
仕事でPHPやってるふりはしなくていいです
すぐやってないってわかるから
0374nobodyさん
2008/11/20(木) 20:36:17ID:???includeで指定する訳ではなく
エラーがあった場合という事は考えられんのかw
画面に出さずにエラーログだけでいいと言う人も居れば
分かり易い言葉でエラーログにと言う人も居るんだよ
仕事自体も完全請負もあれば
一部の機能単位での開発や開発補助というものもある
開発補助の場合はできたら相手に送って
何かしらの問題がでれば対応という風になったりする訳だが
そういう事も考えられんのんだろ?
0375nobodyさん
2008/11/20(木) 20:49:04ID:???俺は仕事でPHPやってるんだ!ってウソでもアピールして
自分ペースに有利に話進めようとするのが
0376nobodyさん
2008/11/20(木) 20:58:04ID:???自分で考えられない事を突っ込まれてウソを言ってる!ってアピールして
自分ペースに有利に話進めようとするのが
0377nobodyさん
2008/11/20(木) 21:04:31ID:???0378nobodyさん
2008/11/20(木) 21:14:48ID:???0379nobodyさん
2008/11/20(木) 22:03:29ID:???雑魚め
0380nobodyさん
2008/11/20(木) 22:23:23ID:L838VyLV0381nobodyさん
2008/11/20(木) 22:35:59ID:???雑魚め
0382nobodyさん
2008/11/20(木) 22:55:38ID:qsQyZgQW【PHPのバージョン】PHP Version 5.2.4(FastCGI for IIS6)
【連携ソフトウェア】mysql
【質問内容】
Fatal error: Call to undefined function mb_ereg_replace() がでる。
Windowsサーバー上でmb_ereg_replaceだけエラーがでます。
mb_convert_kana mb_convert_encoding のようなMB系関数はうごきます。
Fatal errorなので関数がないよっていわれてるんだとおもいますが、mb_ereg_replaceだけないのでおかしいなと。
僕の認識だとMB系は一セットだとおもってたんですがmb_ereg_replaceだけないとかあるんでしょうか?
よろしくお願いします。
0383nobodyさん
2008/11/20(木) 22:55:39ID:???∩___∩ ∩___∩
♪ | ノ ⌒ ⌒ヽハッ __ _,, -ー ,, ハッ / ⌒ ⌒ 丶|
/ (●) (●) ハッ (/ "つ`..,: ハッ (●) (●) 丶 今、どんな気持ち?
| ( _●_) ミ :/ :::::i:. ミ (_●_ ) | ねぇ、どんな気持ち?
___ 彡 |∪| ミ :i ─::!,, ミ、 |∪| 、彡____
ヽ___ ヽノ、`\ ヽ.....::::::::: ::::ij(_::● / ヽノ ___/
/ /ヽ < r " .r ミノ~. 〉 /\ 丶
/ /  ̄ :|::| ::::| :::i ゚。  ̄♪ \ 丶
/ / ♪ :|::|>>372::::| :::|: \ 丶
(_ ⌒丶... :` | ::::| :::|_: /⌒_)
| /ヽ }. :.,' ::( :::} } ヘ /
し )). ::i `.-‐" J´((
ソ トントン ソ トントン
0384nobodyさん
2008/11/20(木) 22:59:56ID:L838VyLV0385nobodyさん
2008/11/20(木) 23:06:37ID:???0386nobodyさん
2008/11/20(木) 23:10:42ID:???0387nobodyさん
2008/11/20(木) 23:15:35ID:HrZmpLyBhttp://localhost/index.php をブラウザのURL欄に入れてEnterおすと
このURLに移動しますよね?
やったところ、 「このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。」という
メッセージが出てきます。
これ自体はプログラムがミスしてるんだなと思うんですが、なぜかこのときURL欄をみると
http://localhost/index.php/ という風に最後に / がついてしまっています。
これはなぜでしょうか?
わからないのですが、、
環境は php5 apache2 でZendFWを使っています。
0388nobodyさん
2008/11/20(木) 23:18:57ID:AwsGLaDA全然原因が思いつかないけど。。
コマンドプロンプトで、
> php -rf mb_ereg_replace
とか
> php -re mbstring
とかしたときに、それらしいものは出てきますか?
0389nobodyさん
2008/11/20(木) 23:19:25ID:???たぶん同じのでるから
0390nobodyさん
2008/11/20(木) 23:24:17ID:???0392387
2008/11/20(木) 23:54:47ID:???仕様なのかもしれないですね、ループしてしまう部分もあわせて
どうにか解決したいと思います。
これからはZendFWのスレで聞きます。 ありがとうございました。
0393nobodyさん
2008/11/21(金) 00:22:41ID:zW/fBXPAhttp://itpro.nikkeibp.co.jp/article/COLUMN/20080317/296440/?ST=develop&P=3
ここみてたら、ポストバックという便利な仕組みがあるそうじゃないか
これってよく使うの?
0394nobodyさん
2008/11/21(金) 00:23:50ID:???0395nobodyさん
2008/11/21(金) 00:31:02ID:rCZA/W6tPHPとかPerlとか全く知らないんだけど
どっちか片方覚えておけばいいの?
それとも両方覚えないといけないの?
0396nobodyさん
2008/11/21(金) 00:34:24ID:???0398nobodyさん
2008/11/21(金) 00:51:54ID:???マジで聞くことがあったWebプログラミングを勉強する上で
UNIXで動かさないとダメなの?
Windowsにアパッチ入れてみたけど、それで勉強したとして
それで出来上がったファイルをレンタルサーバに入れて
おk?
0400382
2008/11/21(金) 01:33:25ID:F+S9pS9uMicrosoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>php -rf mb_ereg_replace
PHP Warning: PHP Startup: zip: Unable to initialize module
Module compiled with module API=20060613, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=1
These options need to match in Unknown on line 0
PHP Warning: PHP Startup: pdo_mysql: Unable to initialize module
Module compiled with module API=20060613, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=1
These options need to match in Unknown on line 0
PHP Parse error: syntax error, unexpected $end in Command line code on line 1
とこんな感じでエラーが出ます。検索しまくってるんですが、なかなか糸口もみえずぜひアドバイスいただければと思います。
0401nobodyさん
2008/11/21(金) 01:36:19ID:???0402nobodyさん
2008/11/21(金) 02:02:30ID:???0403nobodyさん
2008/11/21(金) 02:05:18ID:???PHP : 5.2.6
MySQL : 5.1.29-rc
先ほど環境を整えたのですが、
mysql_connect 関数を呼び出すと httpd.exe に強制終了が起きてしまいます。
Client API header version は 5.1.29-rc で本体と一致しています。
何が原因でしょうか。
ご教授をよろしくお願いいたします。
0404nobodyさん
2008/11/21(金) 02:06:07ID:???>>1
http://www.google.com/search?q=%E3%81%94%E6%95%99%E6%8E%88
0405nobodyさん
2008/11/21(金) 02:09:46ID:AgX6JP+GID出し忘れました。失礼しました。
ご教授ください、は誤用なんですね……。
0406403
2008/11/21(金) 02:35:55ID:???何でも最新がいいわけではないんですね。
失礼しました。
0407382
2008/11/21(金) 02:43:19ID:???ふつうにご教授頂ければ幸いです。とかつかってたよ。はずかしい。。。
0408nobodyさん
2008/11/21(金) 05:37:17ID:???とあるスレで発言したら、焼き餅焼かれてひどい目にあったので、こっちに来た。
CCNP取ったって言ったけど、元はweb系のSE。
web系の案件も何件かやって、やり尽くした感があるので、今はweb系より高度な技術が要求されるインフラ系のSEにスキルアップ中。
0410nobodyさん
2008/11/21(金) 07:34:39ID:BR6mi0Leごめん。
php --rf mb_ereg_replace
php --re mbstring
だった。
php -h でコマンドラインオプションが確認できます。
間違っていることに気づいて、正しいオプションで実行した結果が
あれなら、重大な問題があるような気がします。
エラーログにも残っていると思うけど、IISだとどうなのか
よくわからないなぁ。
0412nobodyさん
2008/11/21(金) 08:35:35ID:zW/fBXPAウチが借りてるレンタルサーバーは
phpファイルのパーミッションが400で
動いているんだが、これでいいのかな?
0413nobodyさん
2008/11/21(金) 08:42:11ID:zW/fBXPA「なんで実行権限与えてないのにPHPのファイルが
動くんだろう?」
って思ったけど、もしかして、
「アパッチのモジュールとして動いているから、
実行権限は与える必要は無い」
って解釈であってるのかな?
0414nobodyさん
2008/11/21(金) 14:46:23ID:wJTKWOfAまずSMTPに
$socket=fsockopen($server,$port);
します
fputs($socket,"EHLO $server\r\n");
した後応答が複数行あるのですが、通信をタイムアウトさせることなく
過不足なく取得するにはどうしたらいいでしょうか
$response.=fgets($socket,1024);では単行しか取得できず、
fgetsがまだ用意されていないのにfgetsを実行した場合、
通信のタイムアウトまで待ってしまいます
0415nobodyさん
2008/11/21(金) 15:03:24ID:wJTKWOfA[RESPONSECODE]-[RESPONSESTRING] //最終行以外
[RESPONSECODE] [RESPONSESTRING] //最終行
ですね
0416nobodyさん
2008/11/21(金) 15:16:06ID:???0417nobodyさん
2008/11/21(金) 15:43:29ID:XpwRzbFr0418nobodyさん
2008/11/21(金) 15:48:54ID:???0419nobodyさん
2008/11/21(金) 22:01:25ID:zW/fBXPA拡張子が.phpでもSSIって使えるの?
よくある設定だと、SSIを使いたいときには、
拡張子をshtmlにしてください、とかあるじゃん。
そしたら、php使えなくネ?って思うわけだ。
0421nobodyさん
2008/11/21(金) 22:14:33ID:???fget()は1行ずつ取る関数。
それならループで回せばいい。
PHP5ならstream_get_contents()が楽ちん
0422nobodyさん
2008/11/21(金) 22:14:56ID:???0425nobodyさん
2008/11/21(金) 22:21:20ID:zW/fBXPA何回も使うファイルをincludeするのに、
SSI使う方法と、phpのinclude使う方法と、
2つの選択肢があると思うのだが、
どちらを使ったほうがいい?
0426nobodyさん
2008/11/21(金) 22:23:56ID:???PHPでは配列と連想配列との区別はない
よって全てを「配列」と呼んでおけばいい
っていうか、そもそも連想配列=ハッシュでないので。
0428nobodyさん
2008/11/21(金) 22:31:22ID:???0429nobodyさん
2008/11/21(金) 22:32:36ID:???http://www.php.net/manual/ja/language.operators.php
型の概念が理解できているなら「===」と「!==」を使う事をお勧めしとく
0430nobodyさん
2008/11/21(金) 22:37:01ID:???http://www.php.net/manual/ja/reserved.variables.request.php
0431nobodyさん
2008/11/21(金) 22:58:47ID:???$j = strlen($char);
for($i=0, $i < $j; $i++)
>>76
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html
>>73
何をpopen()してるのだろう?
>>55
PHP標準を使おうがDBを使おうが、セッションIDが漏れた時のリスクは一緒。
それでもDB等で自前の実装がしたいなら、session_set_save_handler()が便利だ。
携帯では接続の度にIP変わるから、IP使うのは駄目。
UserAgentはナンセンス。
各キャリアがもっている個体識別番号を使うといいよ。
DoCoMoでもユーザー認証無しでとれるようになったしね。
個体識別番号取れないようにしてる機種に対してはエラーを出すのを忘れない事。
0432nobodyさん
2008/11/21(金) 23:58:42ID:???てかID:zW/fBXPAは連日むかつくよ。
PHP以外の言語も知っているような口ぶりだけど
なんでそんなにえらそうな聞き方するんでしょう?
自分で調べようとしてなさそうだし
教えてもらったのならありがとうの一言くらい言えばいいのに。
0433たまちゃん ◆ExGQrDul2E
2008/11/22(土) 00:21:58ID:AbVJZ2V5省略を表示する以前の文字が表示されません。
文字...略14としたいのです。
$mess = <<< FORM
文字列<br><br><br>あさささ<br>xf文字<br><br><br>czdvf
FORM;
$msgline = substr_count($mess, "<br>") + 1;
if ($msgline > 3) {
preg_match("/(.*) <br>.*/U", $mess, $match);
$message = $match[1]."<br> 省".$msgline."</a>";
}
echo "$message<hr>";
これでは、ただ(省)とだけ表示され、略される前の(文字列)と言う文字は表示されません
どのようにすればよいか、教えてください。
0434nobodyさん
2008/11/22(土) 00:22:11ID:???if (淡々と答える事が出来る) {
淡々と答える;
} else {
スルー;
}
>>428
「ハッシュテーブル」とかでググるといいよ。
まぁperlとかでは連想配列をハッシュと呼ぶのが通例だし細かい事は気にするな
>>425
require
PHP5ならautoloadなんかも上手く使うといい
0435nobodyさん
2008/11/22(土) 00:34:45ID:???$encoding = 'UTF-8'; // 実際は定数にする事
$str = 'オリジナルの文字列';
$len = 10;
$str2 = (mb_strlen($str, $encoding) > $len) ? mb_substr($str, 0, $len, $encoding) . '省略' : $str;
echo $str2;
0437435
2008/11/22(土) 00:37:53ID:???$num_br_max = 3;
$str = '文字列<br><br><br>あさささ<br>xf文字<br><br><br>czdvf';
$ary = preg_split('/<br>/i', $str);
$str2 = (count($ary) > $num_br_max) ? implode('<br>', array_slice($ary, 0, $num_br_max)) . '省略' : $str;
echo $str2;
0439438
2008/11/22(土) 00:40:46ID:???■ このスレッドは過去ログ倉庫に格納されています