How can I replace white space in filename of uploaded file
I'm making a SWF uploader and have my HTML form done.
It works totally fine until I upload a SWF file with spaces in the name.
How can I replace 开发者_高级运维whitespace with underscores?
I have tried...
str_replace(" ","_", $file);
...and...
preg_replace(" ","_", $file);
How can I replace whitespace with underscores?
The \s
character class will match whitespace characters. I've added the +
quantifier to collapse multiple whitespace to one _
. If you don't want that, remove the +
.
$file = preg_replace('/\s+/', '_', $file);
the function is correct but you have to assign it to a variable.
$filename = str_replace/preg_replace(" ","_", $file);
I usually approach it from the other side and only allow characters from a white-list; I replace everything except these characters:
$file = preg_replace("/[^-_a-z0-9]+/i", "_", $file);
精彩评论