トップページ⇒php
1001コメント336KB

【PHP】下らねぇ質問はここに書き込みやがれ 34

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/12/08(金) 04:22:54ID:???
PHPに関する質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc8.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
 しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0295nobodyさん2006/12/10(日) 06:32:55ID:???
【PHP】質問は全てここに書き込みやがれ 35
0296nobodyさん2006/12/10(日) 08:41:10ID:???
【PHP】いじわるしないで教えてください(><) 35
0297nobodyさん2006/12/10(日) 09:30:36ID:???
【PHP】くだらねぇかどうかもわからねぇ質問
0298nobodyさん2006/12/10(日) 09:31:38ID:???
【PHP】くだらねぇかどうかもわからねぇ質問【要は全部】
0299nobodyさん2006/12/10(日) 10:01:43ID:???
【PHP】くだらねぇ質問か。いいだろう、ここに書き込うわ何をすry 35
0300nobodyさん2006/12/10(日) 10:46:37ID:???
$string_contents = @file_get_contents("http://外部") or $string_contents1 =file_get_contents("ローカルファイル ");
という構成なんですが、http://外部のアクセスに2秒以上かかるときに
$string_contentsにローカルを入れるためにはどうすればいいでしょうか
0301nobodyさん2006/12/10(日) 10:49:25ID:???
タイムアウトを2sにしろ
0302nobodyさん2006/12/10(日) 10:49:54ID:???
普通にfsockopen使ったほうが楽だと思うよ
0303nobodyさん2006/12/10(日) 11:04:25ID:???
>>301
set_time_limit()を
〜〜〜("http://外部")set_time_limit()
この形で置けばいいでしょうか
0304nobodyさん2006/12/10(日) 11:36:45ID:???
set_time_limitはCPU時間
0305nobodyさん2006/12/10(日) 12:32:02ID:???
あるサイト参考にCSVからデータ抽出を挑戦しているのですが一つ教えてください

<?php
$Cid=$_GET['cid'];
$Data=file('top.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",", $Data[$i]);
if($line[任意]==$Cid){
$CatTitle=$line[任意];
break;
}
}
?>

cidで渡された値を$Cidに納めた後、
$line[0]と$Cidが同じならば、$CatTitleに$line[1]を
$line[1]と$Cidが同じならば、$CatTitleに$line[5]を
$line[3]と$Cidが同じならば、$CatTitleに$line[2]を
という風に条件を別れさせたいのですが、どうやったらよいでしょうか?
わかりにくくてすいません。
0306nobodyさん2006/12/10(日) 12:54:07ID:???
>>305
ifでもswitch caseでも使って条件分岐するしかないのでは?
空行を読んだときやexplodeした配列が4つも無かった場合の
処理を追加した方がいいね。
あと、forでまわすよりforeachで回す方が毎回sizeofしなくて
いいような気がするが、ここら辺はPHPが最適化してくれるのかな?
0307nobodyさん2006/12/10(日) 13:54:43ID:???
つfgetcsv
03082702006/12/10(日) 14:52:34ID:???
$req =& new HTTP_Request($url);

で処理が止まっているようです。
尚、$urlは可変で60回位までは正常に処理でき、その後で止まるようです。
>>250でも書きましたがレン鯖ではOKなのでHTTP_RequestのVerの違いでしょうか?
03092702006/12/10(日) 14:54:41ID:rl/pga4Z
すません間違いました

$req =& new HTTP_Request($url);
if (!PEAR::isError($req->sendRequest())){       ←この行
    処理・・・
}
0310nobodyさん2006/12/10(日) 14:55:34ID:???
php5とか?
つかエラー文吐かせらんないの?
0311nobodyさん2006/12/10(日) 14:59:12ID:???
file_get_contents で、http のリソースを手に入れています。
このときのタイムアウトを設定したいと思うのですがどのように記述すればいいでしょうか?
03122702006/12/10(日) 15:06:03ID:???
>>310
PHP5.2.0です。
Apacheのエラーログには何もでてきません。

エラー文吐かせる方法を知りません _| ̄|○
0313nobodyさん2006/12/10(日) 15:11:08ID:???
php.iniの設定変えてみたら?
error_reporting = E_ALL & ~E_NOTICE
display_errors = On

全然関係ないけどPHP5だと"&"は必要ないね
互換性のために使えるはずだけど(うちの環境では現に使えてるから)
0314nobodyさん2006/12/10(日) 15:18:59ID:???
俺pear使わないから知らんけど
書き方間違ってんじゃないの?
つかApacheのエラーじゃなくてPearのエラーだけど
0315nobodyさん2006/12/10(日) 15:21:01ID:???
getMessage()メソッドがあるんやん
0316nobodyさん2006/12/10(日) 15:40:36ID:q972gna1
PHP初心者です。
先達のお力を拝借できると助かります。
EUCで動く環境のPHPでDBの内容をクライアントにCSVをダウンロードする際に
マルチライン可能の項目に改行コードが混じると
SHIFT-JISに変換する際に(mb_convert_encodingを使用)
\r\nに変換されてしまい困っています。

うまいこと改行コード(CRLF?)を出力方法は無いものでしょか?

今のところ
�@nl2brを使い改行の前に<br />を差込
�Astrtokで<br />で分解し\r\nを\\nに変換
�B再度strtokで\\nで分解し 分解されるたびに mb_convert_encodingで
改行コードを出力

ここまでで一見上手く行った様に見えたのですが
小文字でn が来るとmb_convert_encodingで出力される際に
改行が出力されてしまいます。

参考になるような資料はないでしょうか?
0317nobodyさん2006/12/10(日) 16:01:13ID:???
>>316
DBに改行コード(LF)を含むテキストをEUC-JPで格納し、
出力する際はShift-JIS+LFで出力したいの?

まず、DB上でその情報を利用して検索などをしないなら、
適当にエンコードして格納しておけば?

検索する場合は、格納時に適当なキーワードを抽出して
別テーブルで管理し、本文はやはり適当にエンコードして
格納すれば?

というのがぱっと浮かんだ。

後は識者の光臨を待てw
03182702006/12/10(日) 16:23:33ID:???
解決しました。

原因はPHP.iniのmax_execution_time=30に引っかかり30秒で止まってました。

途中のPGをちょっといじると
「 Maximum execution time of 30 seconds exceeded」のエラーメッセージが表示されたので、
set_time_limit(300);を追加してOKになりました。
03193162006/12/10(日) 16:33:01ID:q972gna1
>>317
>DBに改行コード(LF)を含むテキストをEUC-JPで格納し、
>出力する際はShift-JIS+LFで出力したいの?

こういう事です。
残念ながらDBに適当にエンコードして格納して置くことは
許してもらえないのです(泣
0320nobodyさん2006/12/10(日) 16:35:50ID:tstv0UFr
無名関数を定義する方法を教えてください。
Perlならsub{}、これだけですよね?
0321nobodyさん2006/12/10(日) 16:36:37ID:???
>>320
create_function()
0322nobodyさん2006/12/10(日) 16:50:34ID:???
\r\nでなんでだめなの?
0323nobodyさん2006/12/10(日) 16:51:05ID:???
>>321
どうもありがとうです。でもこれなんか使いにくいですね。
文字列の配列で渡すんですか…
0324nobodyさん2006/12/10(日) 16:52:10ID:???
クラスの静的メソッドって名前空間に関数を詰め込んだだけのような気がするんだけど、もっと何か違いがあるの?
03253162006/12/10(日) 16:53:10ID:q972gna1
>>322
ダウンロードしたcvsをExcelで扱いたいもので…
0326nobodyさん2006/12/10(日) 16:57:48ID:???
\r\n → \n
に全部置換すりゃええんじゃないの?
0327nobodyさん2006/12/10(日) 17:01:07ID:???
>>324
たとえば、singletonパターンを利用するときはgetInstance()と
いう静的なメソッドから内部でクラスのインスタンスを生成するし、
SQLクエリの結果を静的なプロパティに格納しておいて静的なメソッ
ドから取得することもある。

どーでもいいけど、名前空間という言葉の使い方を間違えてるよ。
0328nobodyさん2006/12/10(日) 17:04:15ID:???
>>324
継承ができる。
ただし基底クラスの静的メソッド内で、派生クラスを指定して呼び出したのかどうか、という情報が復元できない難点があるので、それを補う場合は引数にクラス名を渡すなどの工夫が必要。
0329nobodyさん2006/12/10(日) 17:08:53ID:???
>>324
クラスというスコープ内に定義されるわけだから、静的・非静的にかかわらず、privateなメソッドやプロパティを使用可能な点は、「ただ詰め込んだだけ」以上の利点だとは思わんのか?
0330nobodyさん2006/12/10(日) 17:09:55ID:???
ところで、PHPの名前空間サポートは今のところどうなってんの?
0331nobodyさん2006/12/10(日) 17:11:44ID:???
>>330
そういうミーハー的なネタは自分でMLでも漁ってください。
03323162006/12/10(日) 17:22:54ID:q972gna1
>>326
!!!

エンコードするタイミングと置換のタイミングが味噌だったようです。
�@EUC(DBの値)⇒SJISに変換
�A改行コードが「\r\n」と言う文字列に変換される
�BSJISで\r\nを\nに置換  
�C出力

↓な感じで解決しそうです!

$hoge = mb_convert_encoding (hogedb($item[$hoge]),"SHIFT-JIS", "auto");
$hoge = str_replace ("\\r\\n","\n",$hoge);
print $hoge;

ありがとうございました。
0333nobodyさん2006/12/10(日) 17:30:32ID:???
>>332
>$hoge = str_replace ("\\r\\n","\n",$hoge);
これだとバックシュラッシュ多すぎじゃない?
03343332006/12/10(日) 17:31:43ID:???
誤)シュラッシュ | 正)スラッシュ
03353332006/12/10(日) 17:33:57ID:???
>>332
あぁ、これでいいんだ。よく前を読んでなかった。何度もすまない。
0336nobodyさん2006/12/10(日) 17:44:12ID:???
kakasiをsoとしてインストールしたいのです。
どうしてなのですか?
0337nobodyさん2006/12/10(日) 17:47:02ID:???
>>330
http://www.atmarkit.co.jp/flinux/special/php5/php5c.html
これ?
0338nobodyさん2006/12/10(日) 17:56:34ID:???
>>336
日本語でおk
0339nobodyさん2006/12/10(日) 18:05:34ID:???
>>337
これ、古い記事だけど実際はサポートされなかったんだから、その
旨の文章をちょこっと追加してほしいよな。紛らわしい。
まぁ、なくても 特 に 困らない機能だけど、サポートされたらちょっと
嬉しい気もする。
0340nobodyさん2006/12/10(日) 21:38:29ID:???
<?php
require_once("PEAR/Info.php");
$info = new PEAR_Info();
$info->show();
?>

上記のソースでPEARのインストール済みのものが表示されますが、
なぜか一覧にMDB2とHTTP_Requestだけが表示されません。コマンドプロンプトの[pear list]では表示されます。
何が問題なのでしょうか?
0341nobodyさん2006/12/11(月) 00:03:39ID:???
>>323
PHPでPerlより楽に書けるパターンなんて
欲しい機能そのまんまな関数があったときくらいで
それ以外は全部面倒な書き方を強いられる。
Perlは言語仕様が強力すぎだからあきらめれ。
0342nobodyさん2006/12/11(月) 00:22:33ID:???
file_get_contents (http) でタイムアウトの設定するにはどうすればいいのでしょうか?
ためしにini_set('default_socket_timeout','4');
と設定してみたのですが、変わらないままでした。
使用している php は 4.4.4 です。よろしくお願い致します。
0343nobodyさん2006/12/11(月) 00:23:43ID:???
そんなんできたっけ?無理だったと思ったけど。
0344nobodyさん2006/12/11(月) 00:41:47ID:???
fsockopen使えば?
関数作ればfile_get_contentsと同じように使えるし
PEAR使えばもっと楽
0345nobodyさん2006/12/11(月) 00:47:07ID:???
fsockopenの使い方があまり分からないんです
0346nobodyさん2006/12/11(月) 00:52:07ID:???
例えば
ini_set('user_agent', $user_agent.'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)');
$string_contents = @file_get_contents("$url1") or $string_contents =file_get_contents("$local");
$string_contents = str_replace(",", "\n", $string_contents);

をfsockopenで記述するとどうなりますか?
0347nobodyさん2006/12/11(月) 01:10:31ID:???
ヒント:マニュアルのユーザーノート
0348nobodyさん2006/12/11(月) 02:51:15ID:U3obhrAG
今実行しているスクリプトファイル名を取得するにはどうすればいいですか?
0349nobodyさん2006/12/11(月) 03:15:57ID:???
>>348
<?php phpinfo(); ?>で調べて見れ
0350nobodyさん2006/12/11(月) 03:16:10ID:???
__FILE__
0351nobodyさん2006/12/11(月) 07:08:34ID:???
>>349
>>350
THX!!
0352nobodyさん2006/12/11(月) 10:13:46ID:T7VRNufo
質問です。

$fp = fopen("./file.txt");

としたあとに、既に"./file.txt"が開かれているかどうかを確認するのに、
if(is_set($fp))
で確認してるんですが、この方法で確認するのは果たしてOKなのか疑問です。
どのように確認するのが、一般的なんでしょうか?
if($fp)
とかでもいいんでしょうか?
0353nobodyさん2006/12/11(月) 10:15:07ID:T7VRNufo
訂正
×is_set
〇isset
0354nobodyさん2006/12/11(月) 10:27:56ID:???
>>352
マニュアル嫁。

オープンが失敗すると、関数は FALSE を返し、 E_WARNING レベルのエラーを発行します。
@ を使ってこのwarningを抑制することもできます。

と書いてあるから、それを確認したらいいのでは。
0355nobodyさん2006/12/11(月) 10:41:20ID:???
>>352-353
>オープンが失敗すると、関数は FALSE を返し、 E_WARNING レベルのエラーを発行します。 @ を使ってこのwarningを抑制することもできます。
03563522006/12/11(月) 10:44:26ID:T7VRNufo
>>354-355
なるほどありがとうございます。そこまでの意味を掴み切れてませんでしたorz
0357nobodyさん2006/12/11(月) 11:08:35ID:???
$fp = fopen("./file.txt") or exit("File open error.");
0358nobodyさん2006/12/11(月) 11:29:13ID:???
おれはif文で開けることが多いな。
0359nobodyさん2006/12/11(月) 15:00:11ID:???
ファイルをアップしている間に 「少々お待ちください」 の画面を出したいのですが
どのタイミングでどの様な処理をすれば良いのか見当もつきません。
良い方法を教示ください。
0360nobodyさん2006/12/11(月) 16:11:58ID:T7VRNufo
なんでもかんでもPHPでやるのはどうかと思いますよ。得手不得手というものがありますから。
0361nobodyさん2006/12/11(月) 16:35:18ID:???
PHPとJavaサーブレットの得手不得手って何?
0362nobodyさん2006/12/11(月) 17:44:08ID:knN2XhtS
セッションについて質問です。

ブラウザのウィンドウを新たに立ち上げた場合は
新ウィンドウは旧ウィンドウのセッションを引継ぎはしませんが、
タブブラウザで新しいタブを開いた場合には
新タブは旧タブのセッションを引き継いだ状態になってしまいます。

同じウィンドウのタブ同士で、セッションを同一に扱わせない処理って出来ますでしょうか?
0363nobodyさん2006/12/11(月) 19:37:01ID:TN4IXMY0
ftp_put( $conn, $remote, $local, FTP_ASCII);
なら動作するんですが、
ftp_put( $conn, $remote, $local, "FTP_ASCII");
だと ftp_put() expects parameter 4 to be long というエラーが
出ます。理由をおしえてくり。

$mode = "FTP_ASCII";
ftp_put( $conn, $remote, $local, $mode);
も同じエラーが出ます。

0364nobodyさん2006/12/11(月) 19:57:20ID:???
>>363
http://jp.php.net/ftp_put
0365nobodyさん2006/12/11(月) 19:59:40ID:???
PHPでエクセルファイルを操作することってできますか?
具体的にはCSVの一枚表だけでなく、一つのファイル中に複数のシートを作ったり
印刷範囲の設定などをしたいと考えています。
0366nobodyさん2006/12/11(月) 20:03:10ID:???
出来るよ。印刷範囲はしらんけど。
0367nobodyさん2006/12/11(月) 20:06:15ID:???
複数のシートを作るのはどうやるんですか?
0368nobodyさん2006/12/11(月) 20:09:45ID:???
addWorksheet関数だよ。
0369nobodyさん2006/12/11(月) 20:28:42ID:???
ありがとうございます。PEARのExcel Writerですね。

ちなみにサンプルではaddWroksheetメソッドのコール時に参照代入になっていますが
オブジェクトのコピーは自動で参照になると思ってましたが
これは必要なんでしょうか?
0370nobodyさん2006/12/11(月) 20:39:19ID:???
>>363
これ "FTP_ASCII" はFTP_ASCIIという文字列。
これ FTP_ASCII は定数。
引用符で囲むと意味がぜんぜん違うものになる。

ためしに $mode = FTP-ASCII; にしてみな。
03713702006/12/11(月) 20:40:29ID:???
間違えた。
$mode = FTP_ASCII;
0372nobodyさん2006/12/11(月) 21:28:03ID:???
こういうミスがデバッグを苦しめるんだなw
0373nobodyさん2006/12/11(月) 21:56:24ID:???
PHP ML 全文検索がなくなったみたいなのですが、どこか代替できるサイトないですか?
http://ml.php.gr.jp/search.html
03743402006/12/11(月) 22:09:45ID:???
誰か>>340お願いします
0375nobodyさん2006/12/11(月) 22:31:43ID:???
>>359
最近PHP5向けのpeclでそういうのが出てた。
なんで出来ないかは「file upload progress php」あたりでググってみると分かる。


>>340
おいらのPEAR/Info.phpはPHPで記述されている
0376nobodyさん2006/12/11(月) 22:41:09ID:???
mb_convert_eocoding()を配列の要素全てに適用するには
array_map()を使うしかないですか?
その場合to_encodingも配列で渡さないといけないようですが
countで数えるなりして同じ数の文字コードを格納した配列を作らなければならないんでしょうか?
数百個になりそうでちょっと気が引けるのですが・・・
0377nobodyさん2006/12/11(月) 22:49:34ID:???
mb_convert_variables()
0378nobodyさん2006/12/11(月) 23:12:23ID:???
おー、ありがとうございます
独自関数とarray_walk_recursiveで作ったところでした・・・
03793402006/12/11(月) 23:43:45ID:???
>>375
俺のもPEAR/Info.phpはPHPで記述されています
0380nobodyさん2006/12/12(火) 00:42:39ID:???
>>359
とても難しいです。それ。
0381nobodyさん2006/12/12(火) 02:10:30ID:zaiE1Sl7
掲示板とか日記とかをPHPで作るとき、
ユーザーからの入力は当然エスケープして表示するわけですが、
このとき、ハートマークとかコピーライト記号とか、そういう特殊記号があった場合に、
それらだけをエスケープせずに表示するにはどういう実装方法を取るべきなのでしょうか?
0382nobodyさん2006/12/12(火) 02:33:01ID:???
>>381
自分で実体参照文字リストとか作って配列に入れといて、
htmlspecilacharsかけた後の文字列とその配列の中身を比較して、
同じのがあればそれをアンエスケープすれば?

たとえば「&#9829;」を見つけたら「?」に戻す(アンエスケープする)とか。
03833822006/12/12(火) 02:43:58ID:???
・・・あ、よく考えたらそれじゃダメか。
エスケープされた「後」に、実体参照文字だけ元に戻したいとなると
これじゃ無理だ・・・
0384nobodyさん2006/12/12(火) 02:51:09ID:???
まあ、要は頑張れってことだ、ということだけはわかった。
0385nobodyさん2006/12/12(火) 02:54:35ID:???
>>383
「&amp;#[0-9]+」を見つけたら「&amp;」→「&」変換するとかじゃ無理かな…
0386nobodyさん2006/12/12(火) 03:56:13ID:???
>>385
一番手っ取り早い力ワザはそれだよね。
ただし、何かセキュリティ的にヤバい穴が出来ないか心配。。。
0387nobodyさん2006/12/12(火) 04:50:41ID:???
>>385
そういう置換をするための正規表現ってどう書けばいいの??
よく分からないから当てずっぽうでこんなの↓書いてみたけど当然ダメだったorz

$text= htmlspecialchars('ハートだよ?');//文字列全体をエスケープ
$regex = "^&{1}[0-9]{3,6};$";
preg_replace("/".$regex."/", "&\1", $text);//実体参照文字だけをアンエスケープ
03883872006/12/12(火) 04:56:10ID:???
あ、しまった。なんか書き込み時に&が勝手に変換されちゃってる。
仕方ないので半角&を全角&にして書き込んでみます。

$text= htmlspecialchars('ハートだよ&#9829;');//文字列全体をエスケープ。&は実際には半角
$regex = "^&amp;{1}[0-9]{3,6};$";//&は実際には半角
preg_replace("/".$regex."/", "&\1", $text);//実体参照文字だけをアンエスケープ
0389nobodyさん2006/12/12(火) 07:23:12ID:???
phpでrss feedを生成したいのですが、うまくいきません。

やりたいことは、出力したい内容をphpでデータベースから一回ごとにリアルタイムでとってきてxml形式のファイルを動的に生成出力したいのです。


単純に
<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
<title>.... という文字列を出力するだけではだめなのでしょうか?

ブラウザでアップロードしたURLを見てみても、見ることができません。
ページが見つかりません やその他のエラーは出ず、
アドレスバーにだけそのURLが入っている状態で、ブラウザの内容は前(任意)のサイトのままになってます。
0390nobodyさん2006/12/12(火) 07:43:33ID:???
>ブラウザの内容は前(任意)のサイトのままになってます。
ブラウザのキャッシュが効いてるんじゃないのか?
0391nobodyさん2006/12/12(火) 09:22:33ID:???
PDOについて、

$db=new PDO($hoge1.":host=".$hoge2.";dbname=".$hoge3,$hoge4,$hoge5);
$stmt=$db->query("SELECT * FROM hogetable");

//$stmt=NULL;

while($row=$stmt->fetch(PDO::FETCH_ASSOC){
$stmt2=$db->prepare("INSERT IGNORE fugatable (fuga) VALUES (?);");
$stmt2->execute(array(row["hoge"]));
}

のようなコードを書きたいのですが、
$stmt=NULL;を入れないと$stmt2->executeが実行されないのは何故なんでしょうか。
0392nobodyさん2006/12/12(火) 10:19:23ID:???
PHPのマニュアルのunserializeに、

>エラーやシリアライズされた FALSE 値をアンシリアライズする場合、
>FALSE が返されます。この特殊なケースは str を serialize(false)
>で比較する、もしくは E_NOTICE をキャッチすることで区別することができます。

と書いてあるのですが、1,2行目は
$str = 'hage';
if (@unserialize($str) === false && $str != serialize(false)) {
echo '1:unserialize error';
}
ということだと理解しました。
で、3行目なんですが、キャッチと言う言葉から
try {
$arr = @unserialize($str);
} catch (exception $e) {
if ($e->getCode() == E_NOTICE) {
echo '3:unserialize error';
}
}
と言う事かなと思ったのですが、どうも違うようです。
「E_NOTICEをキャッチすること」とは具体的にどういうことなのでしょうか?
0393nobodyさん2006/12/12(火) 10:22:57ID:???
PDO::query() を次にコールする前に
結果セット内の全てのデータを取得しない場合、そのコールは失敗します。
PDOStatement::closeCursor() をコールし、次に PDO::query() をコールする前に
PDOStatement オブジェクトに関連付けられたリソースを解放してください。
0394nobodyさん2006/12/12(火) 10:44:29ID:???
マニュアル読まないでアバウトな感覚で使ってるからそういう疑問が出るんだろうね。
サンプル重視のアホばっかだなwww
0395nobodyさん2006/12/12(火) 10:57:10ID:???
>>394
スレタイも読まんと何ほざいてるの?
■ このスレッドは過去ログ倉庫に格納されています