Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   регулярное выражение для замены всего имени файла, кроме его расширения (http://www.flasher.ru/forum/showthread.php?t=123152)

loover 25.03.2009 20:06

регулярное выражение для замены всего имени файла, кроме его расширения
 
как?
написал вот это:
PHP код:

$filename $_FILES["Filedata"]["name"];
$newfilename preg_replace("/[^.(?:jp(?:e?g|e|2)|gif|png|tiff?|bmp|ico)]/"""$filename); 

но в имени файла остаются и буквы расширения.

duhowka 31.03.2009 23:21

эм. я не совсем конечно понимаю, что вы хотите сделать изменением расширения,
НО так не проще?
PHP код:

$newfilename preg_replace('/.(jpeg|jpg|gif|png|tiff|bmp|ico)/'''$filename); 

ну или как вариант
PHP код:

$newfilename preg_replace('/.(jpeg|jpg|gif|png|tiff|bmp|ico){1,4}/'''$filename); 


loover 01.04.2009 18:53

вы меня не так поняли. мне надо изменить/заменить имя файла КРОМЕ его расширения. т.е. расширение оставить, а все буквы в имени файла заменить.
мне это нужно для шаблонного именования загружаемых файлов. возможно, есть другой способ, наверняка этот вопрос уже решили. просто я ноль в PHP. но есть желание научиться.

duhowka 03.04.2009 00:48

ну проще наверно вытащить $_FILES['uploadfile']['type'] - MIME-тип принятого файла (если браузер смог его определить).
Ну как-то так
PHP код:

$filename $_FILES['Filedata']['type']; 
$newfilename preg_replace('/image\//'''$filename); 
$newfilename time().".".$newfilename



Часовой пояс GMT +4, время: 03:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.