• ベストアンサー

includeした外部ページがリンク切れだった時

レンタルサーバーに設置したPHPページに、自宅サーバーにあるHTMLページをincludeしています。 しかし、自宅サーバーを停止させてからPHPページを開くと、include行で処理が止まるのか、ページが表示されなくなりました。 このように、外部ページをincludeしたときに、include元がリンク切れだった場合でも、include行以降の処理を続行させるためには、どのようにすればよいのでしょうか。 宜しくお願い致します。

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

  • ベストアンサー
noname#24096
noname#24096
回答No.2

試してませんが >if (file_exists ("インクルードするファイルのパス")) { を if (fopen("インクルードするファイルのパス","r")) { にしてもダメですか?

参考URL:
http://www.php.net/manual/ja/features.remote-files.php
wanna
質問者

お礼

上記の方法で無事リンク切れの判定ができるようになりました。 この度は本当にありがとうございます。大変助かりました。

その他の回答 (1)

回答No.1

PHP5ならば try { include("インクルードするファイルパス"); } catch (Exception $e) { ファイルが無かったときにする処理 } PHP4にも互換するものであれば if (file_exists ("インクルードするファイルのパス")) { include("インクルードするファイルパス"); } else { ファイルが無かったときにする処理 } でいかがでしょうか.

wanna
質問者

お礼

izayoimizukiさん、ご回答ありがとうございます。 上記の方法(PHP4)を試してみましたが、file_exists行で処理が止まってしまいました。 他にもget_http_header関数を利用する方法を試しましたが、これもURLをチェックする部分で処理が止まります。 参考 http://www.res-system.com/item/545

関連するQ&A