Google や Baidu では、そのような問題がたくさんあります。解決策は、php.ini を変更し、allow_url_fopen を有効にし、allow_url_fopen = オンに変更することです
これで一部の人の問題を解決できますが、php.ini には 2 つのオプションがあると言う人もいます:allow_url_fopen = on (リモート ファイルを URL 経由で開くことができることを示します)、user_agent="PHP" (ネットワークへのアクセスに使用されるスクリプトを示します。デフォルトではその前に「;」があり、削除できます。) サーバーを再起動します。 。
ただし、この警告メッセージがまだ表示されている人もいます。これを完全に解決するには、php.ini で user_agent を設定する必要があります。PHP のデフォルトの user_agent を Mozilla/4.0 に変更します。 MSIE 6.0; Windows NT 5.0) を使用してブラウザーをシミュレートします
user_agent=”Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.0)”
私は仕事中にこの問題に遭遇し、完全に解決したので、みんなと共有します。
chemblink の構造式をバッチで取得したところ、ループ後に一部の画像が表示できないことがわかりましたが、リモート ファイルは存在していました。
リモート ファイルを取得すると、「Warning: readfile(http://www.jb51.net/logo.gif) [function.readfile]: failed to open stream: I use HTTP request failed!」のような警告メッセージが表示されます。
コードをコピーします コードは次のとおりです:
ob_start();
$img = ob_get_contents(); ob_end_clean( );
上記のエラーは、file_get_contents などの他の関数も変更しましたが、インターネットで確認したところ、CURL メソッドを使用してキャプチャできないことがわかりました。間違ってください
現在はcurlを使用する方が一般的です
コードは次のとおりです:$url = "http://s.jb51.net"; $ch =curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$dxycontent = Curl_exec($ch); ;
$dxycontent
;
上記は、request.querystring の PHP エラー メッセージ「ストリームを開くことができませんでした: HTTP request failed!」に対する完璧な解決策を紹介しており、request.querystring の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。