2009-11-18 4 views
1

У меня есть загрузка изображений. Мне нужно убедиться, что фотографии, содержащие пробелы в имени, заменяются чем-то другим, моя догадка %.PHP загрузить фото с пространством

т.е. имя картина является: aa 22.jpg

Если загружен таким образом он не показывает из пространства между aa и 22. Каким образом можно избавиться от пространства или заменить его % при загрузке?

+0

Возможно, вы говорите о '% 20', который является кодированной версией пространства. – random

ответ

5

вместо того, чтобы заменить имя файла с пустой строкой, это хорошая идея, чтобы заменить его подчеркиванием, чтобы сохранить читаемость и фактическое имя файла в его смысле:

$file = str_replace(' ', '_', $file);

2

Может вы просто не ...

$filename = str_replace(' ', '', $filename); 

Вы используете какой-то обработчик загрузки, что вы не имеете контроля над?

+0

Я использую класс загрузки, который слишком сложно изменить. Я думал о чем-то более непосредственно связанном с файлом загрузки. – frapet

+2

Итак, когда вы используете класс, не удается ли он загрузить файл, содержащий пробел? Если это не удастся, вам нужно будет исправить сам класс ... если он преуспеет и возвращает имя файла с пробелом, просто используйте функцию rename(), чтобы удалить пробелы ... – Langdon

0

Если файл загружен правильно, но он просто не отображается в браузере, вы можете попробовать aa%2022.jpg, так как% 20 используется вместо пробелов в URL-адресах (и в некоторых браузерах это не будет реализовано автоматически).

Но поскольку это некрасиво, вы можете предпочесть заменить пространства чем-то другим. Для этого вы можете использовать функцию str_replace.

1

вы можете использовать trim($picture) , но не знаю, где его поставить, выяснив свое право сейчас

Смежные вопросы