アプリ版:「スタンプのみでお礼する」機能のリリースについて

パスが正しいかどうかを何度も確認しましたが、スクリプトのURLをブラウザで開こうとすると、5~6秒した後、以下のエラーが出ます。

Warning: file_get_contents(読み込むファイルのパス): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in スクリプトのパス.php on line 16

おそらく、file_get_contentsの読み込もうとするファイルが重たすぎるのだと思います(スクリプトのファイルサイズ自体は軽いのですが処理に時間がかかってしまう)。というのも、読み込むファイルの内容を、<?php echo "hello world"; ?> とすると、エラーが出なくなり、正常に読み込んでくれます。また、読み込むファイルは php ファイルで同ドメイン上にあり、このファイルをブラウザから閲覧可能です。

他に、fopen, include, file も試しましたが、同様に上記のようなエラーがでます。これはサーバ側でスクリプトの処理の時間制限を行っているからでしょうか?

ちなみに、スクリプトの冒頭に、
set_time_limit(0);

一番最後に
set_time_limit(30);

をおいてみましたが、結果は同様でした。

もし何か対処方法をご存知の方おられましたら、どうぞよろしくお願いいたします。

A 回答 (1件)

ファイルがあるのでしたら404になるはず無いんですけどね・・・


普通はtime outとかになるんですが。
ファイル名を日本語にしているとか、変な文字(空白とか)が入っているとかはありませんか?
ファイルサイズはどのくらいですか?
file() とかを使用しても駄目ですか?

この回答への補足

system() 関数で page_01.php を読み込ませることができました。しかし、なぜ普通に file() などで読み込めないのか良くわかりません。

補足日時:2006/12/08 02:16
    • good
    • 0
この回答へのお礼

file() もだめでした。

スクリプト名はcall.phpで、読み込み先のファイル名も英語でpage_01.php です。ただ、読み込み内容は日本語になっています。Call は page_01.php の内容を保存するスクリプトで、page_01.php はmysql からデータを取り出して表示しています。

ファイルサイズは、
call.php : 854 bytes
page_01.php : 475 bytes
です。

おかしいのが、page_01.php の内容を遜色のない echo "test"; などにすると、読み込んでくれます。

サーバー側で何か制御がかかっているのでしょうか?

お礼日時:2006/12/06 08:48

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