2016-09-02 11 views
2

У меня есть одно изображения на другом сервере (Image). Когда я получить это изображение с file_get_contents() функции он будет возвращениеПолучить изображение с file_get_contents этого возвращение не найдена ошибка

не найдена ошибка

и сгенерируйте это Image.

file_put_contents(destination_path, file_get_contents(another_server_path)); 

plz help me. если есть другой способ получить эти изображения.

+0

Для меня это нормально работает. Может быть, у вас нет 'allow_url_fopen' в конфигурации PHP, установленной в true? – aslawin

+0

ya dear Я установил это 'ini_set ('allow_url_fopen', 1);' на моей странице. но до этого не работает. –

ответ

1

Попробуйте это.

Существует проблема с URL-адресом специального символа. Затем вам необходимо декодировать некоторый специальный символ из базового имени URL-адреса.

$imgfile = 'http://www.lagrolla.com.au/image/m fr 137 group.jpg'; 
$destinationPath = '/path/to/folder/'; 
$filename = basename($imgpath); 
$imgpath = str_replace($filename,'',$imgpath).rawurldecode($filename); 
copy($imgfile,$destination_path.$filename); 
0

Другой способ загрузки файла копирования с другого сервера с помощью curl:

$ch = curl_init('http://www.lagrolla.com.au/image/data/m%20fr%20137%20group.jpg'); 
$destinationPath = '/path/to/folder/filenameWithNoSpaces.jpg'; 
$fp = fopen($destinationPath, 'wb'); 
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 
fclose($fp); 

Примечание: Это плохая практика для сохранения изображений с пробелами в имени файла, так что вы должны сохранить этот файл с именем собственным.

+0

Дорогая, нет проблем с именем файла, потому что имя файла установлено на возвращенное содержимое, но оно вернет не найденную страницу, так что .. –

+0

Правильно, его единственная заметка, и я знаю, что это не проблема. Что произошло, когда вы пытаетесь загрузить этот файл с помощью 'curl'? – aslawin