我正在使用此代码保存上传的文件,但问题是它允许文件名带有特殊字符和空格。 例如它允许
hi how are you
但我不想允许任何空格、特殊字符等。这是我的代码。我尝试在 uri 中使用 preg_replace,但在那之后我尝试上传文件,但没有上传任何内容。
function save_file($file) {
$allowed_ext = array('jpg','png','gif','jpeg');
$ext = $file['name'];
$ext = strtolower($ext);
if (in_array($ext, $allowed_ext)) {
die('Sorry, the file type is incorrect:'.$file['name']);
}
$fname = date("H_i",time()).'_'.get_rand(5);
$dir = date("Ym",time());
$folder = 'uploads/userfiles/'.$dir;
$uri = $folder.'/'.$fname.'.'.$ext;
if (!is_dir($folder))
mkdir($folder, 0777);
if (copy($file['tmp_name'],$uri))
return $uri;
else {
return false;
}
}
最佳答案
要从字符串中去除非字母,您可以使用以下正则表达式
$input = preg_replace("/[^a-zA-Z]+/", "", $input);
关于php - 从字符串中删除空格和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971233/