2016-02-17 1 views
0

У меня есть изображение от this link. Я хочу скопировать его на свой сервер. Это то, что я пробовал:Сохранить файл с file_put_contents в папке

$url = 'http://tex.z-dn.net/?f=4%5E%7B13%7D%2A2%5E%7B-10%7D%3A16%5E%7B3%7D '; 

    function GetImageByURL($url, $path = null) { 
     $opts = array(CURLOPT_URL => $url, 
        CURLOPT_HEADER => false, 
        CURLOPT_RETURNTRANSFER => true, 
        CURLOPT_TIMEOUT => 10); 
     $ch = curl_init(); 
     curl_setopt_array($ch, $opts); 
     $result = curl_exec($ch); 
     if ( (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200 
      && (strpos(curl_getinfo($ch, CURLINFO_CONTENT_TYPE), "image") !== false))) 
     { 
     $name = substr($url, strrpos($url, '/')+1); 
     if ($path) { 
      if (is_writeable($path)) 
      file_put_contents(rtrim($path, '/') . '/' . $name, $result); 
      echo $result; 
     } else { 
      echo "error : {$path}"; 
     } 
     return $name; 
     } 
     curl_close($ch); 
     return false; 
    }  

Вышеупомянутое не работает.

Это также не работает:

$input = $url; 
$output = 'imageimage.jpg'; 
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/upload/1/',$output, file_get_contents($input)); 
+0

У вас есть достаточно разрешений для записи в папку? –

+4

Сообщите нам, какую ошибку он выбрасывает. – phaberest

+0

Как вы называете 'GetImageByUrl'? Что вы переходите к параметру '$ path'? Также обратите внимание, что эта функция может возвращать 'false' или строку, и если она преуспеет, вы не будете закрывать вызов curl. У вас здесь есть некоторые серьезные проблемы. –

ответ

-1

777 Разрешение на папку, работает для меня.

 Смежные вопросы

  • Нет связанных вопросов^_^