我正在使用此代码来保存上传的文件,但问题是它允许具有特殊字符和空格的名称的文件.例如它允许
hi how are you
Run Code Online (Sandbox Code Playgroud)
但我不想允许任何空间,特殊字符等.这里是我的代码.我尝试用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;
}
}
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个PHP代码压缩mp3,同时上传到32kbps比特率,我已经引用了这个帖子
使用此代码
exec("ffmpeg -i inputfile.mp3 -ab 24000 outputfile.mp3")
Run Code Online (Sandbox Code Playgroud)
但问题是我无法压缩超过32kbps.我的代码指示压缩高达24kbps但执行后,我可以看到输出文件是32kbps.任何人都可以告诉我该怎么做才能压缩超过32kbps.或者ffmpeg是否有任何限制?