• ベストアンサー

require_once で読み込まれたか?

初心者です。教えて頂けますか? require_once で読み込んだと思われるファイルの機能を使用したのですが、 機能した様子がありません。 require_once で読み込めない場合エラーが出るのでしょうか? 以下の様にしても駄目でした。 どの様にすれば良いでしょうか?よろしくおねがいします。 <?php $result = require_once("Auth/Auth.php"); if( $result == True ){ print("True"); } else { print("False"); } ?>

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

includeではなく、requireを使うのは、読み込めなかったら、Fatal Errorを出してプログラムストップさせるためだから、ストップせず次の行にいければ、読み込みエラーなしという意味になるので、普通は、返値チェックはしません。 返値については、既に読み込まれていれば、trueを返すけど まだ読んでなくて今回読みこんだ場合は、Auth/Auth.php というプログラムの最後にreturn 文が無いのならば、nullを返すのじゃないかな? php マニュアル:初回読み込み時の動作はincludeと同じとあるので。 http://jp.php.net/manual/ja//function.include.php 読み込み先内部の関数記述エラーで、関数が使えない可能性については、関数の存在チェックをかければいいでしょう。記述エラーについてrequire自体がなにか値を返すことはありません。 Auth/Auth.php ってpearのですか?自作のソースでないなら関数記述エラーはもう出ないとは思うけど。 <?php require_once("Auth/Auth.php"); if( function_exists('method_name') ){ echo '認証開始'; }else{ echo '認証できません'; } ?>

psychesine
質問者

お礼

ありがとうございます 試してみます

その他の回答 (1)

  • mizutaki
  • ベストアンサー率33% (111/333)
回答No.1

ふと思い立って問題無く動いているPHPのソースの一番上に require_once('nodata.php'); //存在しないファイルを指定 を追加してみたら、 Warning: require_once(nodata.php) [function.require-once]: failed to open stream: No such file or directory in E:~~~ こんなエラーが出てきました。 別にエラー回避をしているわけじゃありませんし、 エラーが出ていない所を見ると、読み込んだPHPファイルのどこかがおかしいのだと思いますよ。 そのソースでファイルが読み込めているならtureが表示されるでしょうが、 存在しなかったら上で書いたようなエラーが出て止まります。

psychesine
質問者

お礼

ありがとうございました。 助かりました ついでですが、Warningを抑制する事も可能でしょうか?

関連するQ&A

専門家に質問してみよう