загрузка изображения facebook на локальный сервер - PullRequest
1 голос
/ 18 ноября 2011

я использую

function save_image($inPath,$outPath){
    //Download images from remote server
    $in=    fopen($inPath, "rb");
    $out=   fopen($outPath, "wb");
    while ($chunk = fread($in,8192))
    {
        fwrite($out, $chunk, 8192);
    }
    fclose($in);
    fclose($out);
}

Эта функция работает отлично, но если я открою изображение, оно показывает, что файл пуст.

Я также попробовал функцию file_get_content (). Но все еще проблема та же.

1 Ответ

1 голос
/ 18 ноября 2011

Я всегда предпочитаю использовать curl для подобных вещей.

function saveImage($url, $savePath) 
{

    $ch = curl_init($url);
    $fp = fopen($savePath, 'wb');

    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);

    $result = curl_exec($ch);

    fclose($fp);
    curl_close($ch);

    return $result;

}

Если у вас не установлен curl, проверьте официальные инструкции по установке curl в PHP , установка curl в Windows довольно проста.

...