1

file_get_contents($ myurl)でリターンが得られないのに、wgetの出力が得られるのはなぜですか

更新しました:

私はcurlを使用してリターンヘッダーと結果を取得し、それが本文ではなくヘッダーにあることを検出します

HTTP/1.1 200 Document follows
Transfer-Encoding: chunked
Content-type: text/plain
Server: XMS (724Solutions HTA XSAM_30_M2_B020 20070803.172831)
Date: Fri, 21 May 2010 10:48:31 GMT
Accept-Ranges: bytes

HTTP/1.1 404 ChargedPartyNotAvailable
Transfer-Encoding: chunked
Content-type: text/plain
Server: XMS (724Solutions HTA XSAM_30_M2_B020 20070803.172831)
Date: Fri, 21 May 2010 10:34:13 GMT
Accept-Ranges: bytes

「200DocumentFollow」と「404ChargedPartyNotAvailable」のみを抽出するにはどうすればよいですか?

4

3 に答える 3

6

PHP構成でallow_url_fopenを有効にしていますか?

ただし、そうでない場合は警告が生成されると思います-エラー/警告が表示されていますか?スクリプトの先頭に一時的に追加できます:

error_reporting(E_ALL);
ini_set('display_errors', true);

次に、file_get_contents()が機能しない理由がわかる場合があります。

編集

get_headers()ヘッダーのみに関心がある場合は、使用できる可能性があります。

于 2010-05-21T09:30:25.077 に答える
3

PHP Curl パッケージを使用して、URL のコンテンツを取得できます。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$myUrl);
$result = curl_exec($ch);
curl_close($ch); 

または、file_get_contents のみを使用する場合は、PHP.ini が正しく構成されているかどうかを確認してください。

http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

ここで述べたように ( http://php.net/manual/en/function.file-get-contents.php )

fopen ラッパーが有効になっている場合は、この関数で URL をファイル名として使用できます。ファイル名の指定方法の詳細については、fopen() を参照してください。

于 2010-05-21T09:27:57.300 に答える
0

あなたは試すことができます:

$contents = implode('', file($myurl));

私はそれを非常に頻繁に使用します。

于 2010-05-21T10:25:02.137 に答える