Копирование изображения с одного сервера на другой с использованием PHP - PullRequest
3 голосов
/ 06 февраля 2012

Я пытаюсь скопировать изображение с удаленного сервера со следующим кодом:

$src = "http://www.imagelocation.com/image.jpg";
$dest = "/server/location/upload/";
file_put_contents($dest, file_get_contents($src));

К сожалению, я получаю следующую ошибку:

Предупреждение: file_put_contents (/ server / location / upload /) [function.file-put-contents]: не удалось открыть поток: находится каталог в /server/location/myscript.php в строке 220

Есть ли у васесть идеи как обойти это?

Ответы [ 2 ]

9 голосов
/ 06 февраля 2012
$src = "http://www.imagelocation.com/image.jpg";
$dest = "/server/location/upload/" . basename($src);
file_put_contents($dest, file_get_contents($src));

Вам необходимо указать имя файла. Я добавил basename($src), который будет записывать в то же имя файла, что и оригинал. Будьте осторожны, если вы копируете из других каталогов, basename() возвращает только имя файла, поэтому, если вы скопируете /image.jpg и /a/image.jpg, вы напишите поверх оригинала.

2 голосов
/ 06 февраля 2012

Это потому, что $ dest - это каталог, а не файл.Вы можете вручную указать имя файла или использовать basename ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...