Загрузка curl_exec завершается неудачей, если имя файла содержит +знакPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Загрузка curl_exec завершается неудачей, если имя файла содержит +знак

Сообщение Anonymous »

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

Код: Выделить всё

    header("Content-Disposition: attachment; filename=".$_GET['name']);
$url = $_GET['name'];
$url= str_replace(" ","%20", $url);
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_exec( $ch );
if (curl_errno($ch)) {
$error_msg = curl_error($ch);
echo "console.log('$error_msg');";
}
curl_close ($ch);
Я заметил, что загрузка не произойдет или загруженный файл будет иметь размер в байтах (что неверно), если имя файла содержит знак +, например:
имя_файла1.mp4//работает
имя_файла1+.mp4//fail
Я не получаю вывода на консоль
/>Может быть, некоторые другие символы вызывают такое же поведение.
Есть ли способ исправить это, не переименовывая файлы?

Подробнее здесь: https://stackoverflow.com/questions/797 ... tains-sign
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»