前提・実現したいこと
file_get_contentsでJSONファイルを取得したいです。
発生している問題・エラーメッセージ
ファイルが取得ができません。以下は Query Monitor で表示されるエラーです。
file_get_contents(): Filename cannot be empty
該当のソースコード
以下のようにfalseがvar_dumpされてしまいます。
php
1// ファイル名を取得 2$theme_path = get_template_directory_uri(); 3$file = $theme_path . '/json/test.json'; 4var_dump( $file ); // -> string(57) "http://example.com/wp-content/themes/theme/json/test.json" 5 6// ファイルを取得(その1) 7$response = file_get_contents( $file_name ); 8var_dump( $response ); // -> bool(false)
試したこと
べた打ちではどうかと思い http://example.com/wp-content/themes/theme/json/test.json をブラウザのURLバーに入れてみましたところブラウザには以下が表示されましたので、ファイル名もファイルもあるはずです。(こうなると上記エラーの「Filename cannot be empty」が謎です。。)
そして以下のようにswich
で分けてみたら無事var_dumpされまして、つまりどうやら200エラーになっているようだと推測できますが、なぜ…という感じです。
php
1// ファイルを取得(その2) 2$response = file_get_contents($file, false, $context); 3preg_match("/[0-9]{3}/", $http_response_header[0], $stcode); 4switch ($stcode[0]) { 5 case '200': 6 var_dump($response); 7 break; 8 case "404": 9 echo 404; 10 break; 11 case '500': 12 echo '500'; 13 default: 14 break; 15}
補足情報(FW/ツールのバージョンなど)
WordPress 5.9
PHP 7.4
200エラーを回避し、file_get_contentsで取得できるようにするためには何が必要でしょうか?
宜しくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/24 07:25