从输入表单上传时查找文件名


chaning filename on upload from input form

您好,我使用以下代码将文件上传到我的服务器上并将文件名写入数据库。我的问题是,当上传文件时,我如何获得要更改的文件的名称?现在我面临一个问题,如果文件名在单词之间有空格,如果它不是整个单词,文件没有正确上传。

这是代码:

 $target = "../images/"; 
 $target = $target . basename( $_FILES['photo']['name']); 
 $filename = $_FILES['photo']['name'];
 if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
 //resize function 
 createThumbnail($filename); 

您需要解析文件名,删除所有不需要的字符。最简单的方法是使用preg_replace禁止的字符。下面是一个示例:

// List of forbidden chars (' and / need to be escaped with ')
$forbiddenChars = "'/''?%*:|'"<>. ";
//Characters not allowed are replaced by this var
$replaceStr = "_";
$filename = preg_replace("/[$forbiddenChars]/", $replaceStr, $_FILES['photo']['name']);
//DEBUG: Test if everything is ok (should be deleted in production)
var_dump($filename);