When I use my upload script to upload a PHP file, I can't upload a file with spaces in it (I get a 500 error). Is there a way so my code automatically puts an underscore in the file name instead of the space? All help is greatly appreciated. :)
6
-
1The code you posted does not seem to be completely relevant to what you demandGabe– Gabe2014-12-19 10:54:20 +00:00Commented Dec 19, 2014 at 10:54
-
1You need to show the code of real upload (with $_FILES) that said you can do a $filename = str_replace(" ","_",$_FILES['myFile']['tmp_name']); and use $filenameMarco Mura– Marco Mura2014-12-19 10:55:53 +00:00Commented Dec 19, 2014 at 10:55
-
@Gabe Whoops; changed itPhineas_0510– Phineas_05102014-12-19 10:57:03 +00:00Commented Dec 19, 2014 at 10:57
-
There is no code now.Hieu Le– Hieu Le2014-12-19 10:59:44 +00:00Commented Dec 19, 2014 at 10:59
-
@MarcoMura Okay, can I just have the PHP to do it then, not my code edited? :DPhineas_0510– Phineas_05102014-12-19 10:59:53 +00:00Commented Dec 19, 2014 at 10:59
|
Show 1 more comment
2 Answers
Simply use str_replace to replace all white spaces with another string:
$fileName = str_replace(" ", "_", $fileName);
- Doc: php.net
Comments
Use this regular expression.suppose your filename look like my pic.jpg (one spaces) or my pic.jpg (three spaces) would come out as my_pic.jpg (one underscores) or my___pic.jpg(three underscores).
$filename = 'my pic.jpg'; //your file name...
$filename = preg_replace('/\s+/', '_', $filename);
output : my_pic.jpg //you get this output...