質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

3回答

638閲覧

PHP file_get_contents

zxmpx

総合スコア2

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2023/03/30 00:15

file_get_contentsの失敗を判定するには、
$a=file_get_contents("/.../~");//root指定
if(!$a){
//何らかのエラーにより、失敗
}
という判定方法でいいんでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2023/03/30 03:16

「失敗」を想定例外と想定外例外にわけて異常系設計をしたうえでないと実装だけでどうにかするものでもないと思います。 つまり「決め」の問題なので、ここだけ見ても良し悪しの判断は他者にはできません。 要件次第ですね。
guest

回答3

0

PHPの設定にもよりますが、
@をつけないと、別途エラーが出てしまいます。

PHP

1$a = @file_get_contents("/.../~");//root指定 2if(!$a){ 3//何らかのエラーにより、失敗 4}

投稿2023/03/30 00:41

pippi19

総合スコア684

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

$a=file_get_contents("/.../~");//root指定
if(!$a){
//何らかのエラーにより、失敗
}

何か問題を生じているのでしょうか?
問題が生じている場合は問題の内容も記載していただいた方が適切な回答がつくと思います。

PHP ドキュメント file_get_contents

戻り値
読み込んだデータを返します。失敗した場合に false を返します。

とあるように 読み込みに失敗した場合は $a は false ですので、それで問題ないと思います

例えば、読み込み失敗と「ファイルが空」の場合と厳密に解釈したいとかでしょうか?

そのような場合は、

if($a === false ){ // 読み込み失敗 } elseif ( !$a ){ // ファイルは空 }

のように false と一致する場合のみ失敗と判断すれば良いと思います。

投稿2023/03/30 00:40

CHERRY

総合スコア25234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

エラーが発生しているなら!$aの判定までいきません。
想定するエラーがなにかによります。
(ファイルが存在しない、読み込めない、http経由でhttpエラーが発生・・・)
error_handlerを設定するとよいかもしれません。

投稿2023/03/30 00:33

yambejp

総合スコア117680

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問