Невозможно скопировать изображение с удаленного сервера, когда в имени изображения есть пробелы

Я пытаюсь скопировать изображение с удаленного сервера, но в имени изображения есть пробелы, а файл, созданный с помощью функции copy (), недопустим и не может быть открыт. Мой код:

$url     = 'http://www.bgelectronics.eu/image/cache/data/cantell kabeli /14222-228x228.jpg';

$newfile = servImagesDir.'products/small/awa.jpg';
if (!copy($url, $newfile)){echo "failed to copy";}

Нет ошибок и, как я уже сказал выше, есть скопированный файл, но недействительный. В то же время изображение хорошее
Пожалуйста, помогите решить эту проблему, спасибо

0

Решение

Попробуйте вставить вторую (пустую) строку:

$url = str_replace(' ', '%20', $url);

urlencode и rawurlencode также кодируют ‘/’ (косые черты). Они меняют ваш URL на:

HTTP% 3A% 2F% 2Fwww.bgelectronics.eu% 2Fimage% 2Fcache% 2Fdata% 2Fcantell% 20kabeli% 20% 2F14222-228×228.jpg

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector