0

PHP 経由でリモート ファイルをダウンロードできません。

cURL とストリーミングを使用してみましたが、どちらもエラーになりません。

ストリーミング用の現在のコードは次のとおりです。

$url = "http://commissiongeek.com/files/text.txt";
$path = "/files/cb.txt";     
file_put_contents($path, file_get_contents($url));

これが機能するようになったらzipファイルをダウンロードしますが、理論的にはこれで問題なく機能するはずです...

フォルダーのアクセス許可は 777 に設定されており、前に述べたように、エラーはスローされていません。何が原因でしょうか?

4

3 に答える 3

1

これを複数のセクションに分割して、各ステージが機能していることを確認できるようにします。

$url = 'http://...';
$txt = file_get_contents($url);
var_dump($txt);
var_dump(file_put_contents('/files/cb.txt', $txt));

最初のダンプは、その URL が返すテキストを表示する必要があります。2 番目のダンプは、file_put が失敗したかどうかに応じて、ブール値の true/false を出力する必要があります。

于 2012-08-14T17:04:08.267 に答える
0

保存しようとしている絶対パスがあるようです。代わりにパスを「files/cb.txt」に変更し、/files/へのアクセス権を持たないことをお勧めします。

于 2012-08-14T17:06:49.030 に答える
0

allow_url_fopen を true に設定している場合:

$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));

それ以外の場合は cURL を使用します。

$ch = curl_init('http://example.com/image.php');
$fp = fopen('/my/folder/flower.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
于 2012-08-14T17:09:30.560 に答える