Если URL-адрес изображения содержит символ типа «+», изображение невозможно сохранитьPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Если URL-адрес изображения содержит символ типа «+», изображение невозможно сохранить

Сообщение Anonymous »

Я пытаюсь сохранить изображения, когда пользователь публикует URL-адрес изображения.
Я делаю это с помощью этого кода:

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

        $pic = $Db->escape($_POST['form_pic']); // (escape is a function to mysql_real_escape_string)
$time = strtotime("now");
$filename = $item_id.'_'.$time.'.'.$ext;
$item_pic = 'img/ads/'.$filename;

$contents = file_get_contents($pic);
file_put_contents('../img/ads/'. $filename, $contents);
Это работает в большинстве случаев. Но если URL-адрес содержит странный символ, например «+», приведенный выше код не работает. Тогда он не сохраняет изображение.

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

 An example url: http://2.bp.blogspot.com/-ubBMWObG6u0/T-m3zYIq3CI/AAAAAAAABxU/Z8aa1Dgny9c/s1600/Grown+sunglasses.jpg
Как сохранить каждый файл изображения, даже если URL-адрес содержит «странные» символы?

Обновление: Я повторил свой $_POST['form_pic'], и кажется, что когда я публикую URL-адрес после отправки, Символ «+» заменяется пробелом?

Подробнее здесь: https://stackoverflow.com/questions/136 ... save-image
Ответить

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

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

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

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

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