このコードを使用してアップロードされたファイルを保存していますが、問題は、特殊文字とスペースを含む名前のファイルを許可していることです。たとえば、許可しています
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;
}
}