Как я могу заменить пробел в имени файла загруженного файла - PullRequest
5 голосов
/ 18 мая 2011

Я делаю загрузчик SWF и готовую форму HTML.

Она работает прекрасно, пока я не загружу SWF-файл с пробелами в имени.

Как заменить пробелс подчеркиванием?

Я пытался ...

str_replace(" ","_", $file);

... и ...

preg_replace(" ","_", $file);

Ответы [ 3 ]

14 голосов
/ 18 мая 2011

Как заменить пробел символом подчеркивания?

Класс символов \s будет соответствовать символам пробела.Я добавил квантификатор +, чтобы свернуть несколько пробелов в один _.Если вы этого не хотите, удалите +.

$file = preg_replace('/\s+/', '_', $file);
7 голосов
/ 18 мая 2011

функция верна, но вы должны присвоить ее переменной.

$filename = str_replace/preg_replace(" ","_", $file);
4 голосов
/ 18 мая 2011

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

$file = preg_replace("/[^-_a-z0-9]+/i", "_", $file);
...