Я пытаюсь скопировать изображение с удаленного сервера, но в имени изображения есть пробелы, а файл, созданный с помощью функции 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";}
Нет ошибок и, как я уже сказал выше, есть скопированный файл, но недействительный. В то же время изображение хорошее
Пожалуйста, помогите решить эту проблему, спасибо
Попробуйте вставить вторую (пустую) строку:
$url = str_replace(' ', '%20', $url);
urlencode и rawurlencode также кодируют ‘/’ (косые черты). Они меняют ваш URL на:
HTTP% 3A% 2F% 2Fwww.bgelectronics.eu% 2Fimage% 2Fcache% 2Fdata% 2Fcantell% 20kabeli% 20% 2F14222-228×228.jpg
Других решений пока нет …