2012-05-09 3 views
1

Я этот файл, который я отправляю на сервер через PHP загрузки файла ..PHP ereg_replace

6;'!8.jpg 

Я использовал этот код для удаления не буквенно-цифровые символы ..

$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]); 

, что работает отлично , но она возвращает мое изображение, как этот

68jpg 

что бы лучший способ вернуть это как 68.jpg

Любые идеи?

+9

ерег * устарел. Вместо этого используйте preg *. –

ответ

2

Не используйте ereg/eregi. Эти функции устарели. Вместо этого используйте функции PCRE.

Попробуйте этот путь

$image1 = preg_replace("#[^a-z0-9\.]#i", null, $_FILES["image"]["name"]);

+0

вот что я искал :) спасибо – user979331

+0

Приятно исправлять регулярное выражение :-) – shadyyx

0

Попробуйте этот код вместо:

$image1 = ereg_replace("[^A-Za-z0-9\\.]", "", $_FILES["image"]["name"]); 

Но вы действительно должны попробовать использовать preg_ вместо ereg_ PHP функции, поскольку они более производительные (и не рекомендуется).

+1

Это все еще не сработает - проверьте ваше регулярное выражение. Он должен быть с одним обратным слэшем: '[^ A-Za-z0-9 \.]'. Ваше регулярное выражение позволит буквенно-цифровые символы, обратную косую черту, а затем любой символ (потому что вы сделали экранированную обратную косую черту, а неопределенная точка означает что-либо) ... – shadyyx

+0

работает на PHP 5.2 как проверено на моем localhost – adrien

-1

Вы, вероятно, можно использовать Pathinfo РНР ($ _ IMAGE [ "образ"] [ "имя"]) команду распадаться базового пути, база имен и файла расширение имени файла в , Затем вы можете запустить поиск n 'replace (как рекомендует @John Conde) в basename, а затем объединить базовое имя и расширение файла обратно вместе.

+0

Почему это сложно? -1 – shadyyx

+0

Посмотрев на принятый ответ, вероятно, нет причин. – OrionRogue

+0

Проблема в том, что многие люди решают проблемы с сложными решениями ... Зачем использовать 'pathinfo', затем разрывать друг друга, а затем использовать' preg_replace' в любом случае, когда он может быть использован с мгновенным результатом. – shadyyx

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