電子書籍の厳選無料作品が豊富!

初心者です。教えて頂けますか?
require_once で読み込んだと思われるファイルの機能を使用したのですが、
機能した様子がありません。
require_once で読み込めない場合エラーが出るのでしょうか?

以下の様にしても駄目でした。
どの様にすれば良いでしょうか?よろしくおねがいします。

<?php
$result = require_once("Auth/Auth.php");
if( $result == True ){
print("True");
} else {
print("False");
}
?>

A 回答 (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 '認証できません';
}
?>
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/04/29 00:04

ふと思い立って問題無く動いている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が表示されるでしょうが、
存在しなかったら上で書いたようなエラーが出て止まります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/04/27 13:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!