- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:includeでのローカルファイルの呼び出しについて)
includeでのローカルファイルの呼び出しについて
このQ&Aのポイント
- ローカルファイルの呼び出し方法でエラーが発生しています。
- サーバー管理者から外部ファイルの呼び出しは高負荷がかかるため、ローカルからの呼び出しに変更するよう指示がありました。
- 修正後に「No such file or directory」というエラーが発生しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ディレクトリ構成は/homeの下にrandomがあるものとみなして回答します。 エラーメッセージからrandom.phpの2行目でrandom.txtを読み込んでいるのだと思いますが、その部分が不明なためハッキリとは言えません。 http://ml.php.gr.jp/pipermail/php-users/2005-February/024882.html http://www.hoge256.net/blog/2007/08/php_include_require.html 上記のリンク先に書かれているようにincludeするファイルのスキームの指定により、動作が変わります。 (1)ローカルファイル(指定なし、file://~)の場合、実行ファイル(この場合はindex.php)がカレントディレクトリとなり、random.phpは/home下にあるものとして実行される。 (2)リモートファイル(http://~等)の場合、ファイルの実行結果をインクルードする。つまり、http://~/randomをカレントディレクトリとしてrandam.phpを実行後、index.phpに実行結果がインクルードされる 多分この辺りに起因しているのだと思いますがどうでしょうか?
お礼
ご回答いただきましてありがとうございます。 random.phpのrandom.txtの呼び出し方に問題があったようです。 まずファイル配置については正しくは下記の通りとなります。 www/(705) ├/home(755) │ └index.php(644) └/random(755) ├random.php(644) └random.txt(606) /home フォルダと/random フォルダは並列に配置しており、 /home フォルダ配下に /random フォルダを設置ではありませんでした。 解決方法としてはrondom.phpから以下のようにtxtを呼び出していたのを 下記のようにファイルを呼び出すことにより解決しました。 <?php $Array=file("random.txt"); $Max=sizeof($Array)-1; $n=rand(0,$Max); $Ad=str_replace("\\","",$Array[$n]); $Ad=stripslashes($Ad); print $Ad; ?> ↓ <?php $Array=file("/xxxxxxxx/www/banner/random.txt"); $Max=sizeof($Array)-1; $n=rand(0,$Max); $Ad=str_replace("\\","",$Array[$n]); $Ad=stripslashes($Ad); print $Ad; ?> どうやらローカルファイルの呼び出し方法に間違いがあったようです。 非常に助かりました、ありがとうございます。