- 1 名前:nobodyさん mailto:sage [2008/11/22(土) 06:36:02 ID:???]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 PHP使いが優しくコメントを返しますが、 お礼はPHPの布教と初心者の救済をお願いします。 PHP Home Page www.php.net/ jp.php.net/ くだすれPHP(超初心者用)4 pc11.2ch.net/test/read.cgi/php/1213356756/ 適当に関連スレ(マルチはだめぽ) 【PHP】下らねぇ質問はここに書き込みやがれ 69 pc11.2ch.net/test/read.cgi/php/1211879073/
- 725 名前:nobodyさん mailto:sage [2009/02/11(水) 13:56:50 ID:???]
- 環境は?OSとか
- 726 名前:nobodyさん mailto:sage [2009/02/11(水) 14:12:44 ID:???]
- >>725
ああすみません。 開発環境はPHP5.2.6でOSXなんですがWebサーバはまだ借りてないのでどうなるかはわかりません。 PHP5でApachサーバのところを借りようとは思ってます。 なので開発環境との違いや引っ越し時のことを考えて汎用的な関数がないかと質問しました。 一応マニュアルのファイルシステム関数は目を通したんですが…
- 727 名前:nobodyさん mailto:sage [2009/02/11(水) 14:24:23 ID:???]
- exit()ってスクリプト終了のために多用してもいいのでしょうか?
たとえばエラーチェック時にdieの代わりに自作関数呼び出して終了みたいな場合など function return_json($flag, $data){ if($flag == true) $result = $data; else $result = "ERR:".$data; $res = array( "status" => $flag, "result" => $result ); print(json_encode($res)); exit(); } if(エラーチェック1) return_json(false,"エラー1です"); //エラーなら終了 if(エラーチェック2) return_json(false,"エラー2です"); //エラーなら終了 //最後に return_json(true,"成功です。");
- 728 名前:nobodyさん mailto:sage [2009/02/11(水) 14:33:34 ID:???]
- 別にいいんでは?
- 729 名前:nobodyさん mailto:sage [2009/02/11(水) 15:13:35 ID:???]
- 関数はあくまで何かを返すだけにして、制御を握っているのは「メインのルーチン」ひとつにした方がいい。
あちこちの関数で好き勝手に処理を中断したり画面出力してたりすると、そのうち管理しきれなくなる。 同じ理由で、printするよりは文字列を返す(printは「メインのルーチン」で行なう)方がいいと思う。 俺ならreturn_json()はjsonを返すだけ(exitもprintもしない)にして function generare_json(){ if(isError1()){ return return_json(false,"エラー1です"); } if(isError2()){ return return_json(false,"エラー2です"); } return return_json(true,"成功です。"); } とし、echo generate_json()を最後に呼び出す。 exit()はスクリプトの末尾のみ、出力はこの文のみになる。
- 730 名前:nobodyさん mailto:sage [2009/02/11(水) 15:20:37 ID:???]
- つうか、正しいjson出力とエラー出力を別の関数にするかな。
boolを渡すより、return_error_json()の方が分かりやすい。
- 731 名前:nobodyさん mailto:sage [2009/02/11(水) 15:23:03 ID:???]
- >>719
ヒントをサンクス。 >>723 詳しいありがとうございます。 参考にさせて頂きます。
- 732 名前:nobodyさん mailto:sage [2009/02/11(水) 17:07:46 ID:???]
- >>726
ああもしかして、http://〜/~user/ の部分の実ディレクトリが知りたいってこと?
- 733 名前:nobodyさん mailto:sage [2009/02/11(水) 17:30:07 ID:???]
- 実ディレクトリでいいのかな?ローカルでいえば
/Applications/MAMP/htdocs/ となります。 実行ファイルがトップにあるわけではないので相対パスでのファイル指定より 基点からの絶対パスのほうがわかりやすいかなと。
- 734 名前:724,733 mailto:sage [2009/02/11(水) 17:31:27 ID:???]
- >>732
アンカーわすれてたので念のため
- 735 名前:nobodyさん mailto:sage [2009/02/11(水) 17:45:24 ID:???]
- >>733
dirname(__FILE__) とか getcwd() とか そういうこと?
- 736 名前:nobodyさん mailto:sage [2009/02/11(水) 17:47:36 ID:???]
- >>733
$_SERVER['DOCUMENT_ROOT']
- 737 名前:nobodyさん mailto:sage [2009/02/11(水) 18:00:00 ID:???]
- ユーザー関係ないじゃんw
- 738 名前:724,733 mailto:sage [2009/02/11(水) 19:15:46 ID:???]
- >>735,736
$_SERVER['DOCUMENT_ROOT']で希望のパスを得ることができました。 ありがとうございました。
|

|