Ответ 1
Просто используйте str_replace.
echo str_replace ( ' ', '%20', 'http://images.fastcompany.com/upload/Screen shot 2011-04-28 at 8.13.21 PM.png' );
Итак, я пытаюсь скрутить этот URL-адрес:
http://images.fastcompany.com/upload/Screen shot 2011-04-28 в 8.13.21 PM.png
URL-код, закодированный, читается как:
http%3A%2F%2Fimages.fastcompany.com%2Fupload%2FScreen+shot+2011-04-28+at+8.13.21+PM.png
Однако завиток требует, чтобы он был правильно декодирован в правильный URL.
Как мне обойти эту проблему? cURL сбрасывает остальную часть строки, как только она достигает любого пробела...: (
Я должен упомянуть, что я не могу обернуть URL с двойными кавычками, поскольку это переменная, которую вы отправляете.
Редактировать: hahahahaha wowwwwww brainfart.. спасибо, ребята: P
Просто используйте str_replace.
echo str_replace ( ' ', '%20', 'http://images.fastcompany.com/upload/Screen shot 2011-04-28 at 8.13.21 PM.png' );
Возможно, попробуйте заменить пробелы на %20
?
Я использую:
$link = trim($link);
$link = str_replace ( ' ', '%20', $link);
Используйте функцию str_replace();
. Замените " "
на "%20"
Для меня просто поставить имя с пробелами между "" сработало.
Пример
curl --upload-file "001- name - lastName.pdf" https://transfer.sh/ernesto
Обратите внимание на использование "" в "001- name - lastName.pdf"