0

現在、クラスで外部サーバーからデータを取得する関数を作成しようとしています。CURL を使用してデータを取得できますが、CURL を使用して直接ファイルに保存したくありません。これは説明するのがやや難しいので、お見せします。

これは、画像を取得するための私の関数です:

function getCharacterPortrait($CharID, $size){

    $url = "http://image.eveonline.com/character/{$CharID}_{$size}.jpg";
    $ch = curl_init($url);
    curl_setopt_array($ch, array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER         => false,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_ENCODING       => "",
        CURLOPT_AUTOREFERER    => true,
    ));
    $data = curl_exec($ch);
    curl_close($ch);

    return $data;

}

だから、ここからやりたいの$dataは、私が推測する生の画像である を取り、それを.jpg指定されたファイルの に保存することです。CURL を使用してこれについて同様の説明を見つけましたが、CURL を使用して直接保存しました。ファイルを保存するための画像を取得する関数を呼び出すスクリプトが必要です。

少し混乱させて申し訳ありませんが、私が言っていることの前提を理解していただけると思います。さらに説明が必要な場合は、そう言ってください。

4

3 に答える 3

0

これはどう?

$a = implode('',@file('http://url/file.jpg'));
$h = fopen('/path/to/disk/file.jpg','wb');
fwrite($h,$a);
fclose($h);
于 2012-12-03T11:39:45.013 に答える
0

これを使って

$url = "http://image.eveonline.com/character/{$CharID}_{$size}.jpg";
$local_path = "myfolder/{$CharID}_{$size}.jpg";
$file = file_get_contents($url);
file_put_contents($file, $local_path);
于 2012-12-03T18:34:08.823 に答える
0

たとえば、cURLが提供したすべてのデータをファイルに書き込むだけfile_put_contents()ですか?

[your curl code...]
file_put_contents('localcopy.jpg', $data);


編集:

どうやら、次のようなファイルにダウンロードするための cURL オプションもあります。

$fp = fopen($path, 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);

http://www.phpriot.com/articles/download-with-curl-and-phpにあります。

于 2012-12-03T11:44:39.920 に答える