我正在尝试使用Uploadify script将文件上传到服务器,然后使用PHP在网站上以“www.example.com/directory-of-upload/file.mp3”的形式显示它们。
它工作正常,直到我上传包含逗号,引号等字符的文件。然后php代码中断。
例如,当我尝试将文件URL解析为flash播放器中的参数时,它看起来像这样:
<param name="flashvars" value="soundFile=http://localhost/public_html/content/plugins/post_audio/uploadify-local/uploads/song,+one.dad'a;-A.b!@.mp3&titles=song,+one.dad'a;-A.b!@&playerID=audioplayer_song,+one.dad'a;-A.b!@">
并且文件无法播放。我想这与这些角色有关(逗号,引号..)
我该如何解决这个问题?注册是唯一的解决方案吗?
提前致谢。
答案 0 :(得分:2)
$fArr=explode('.',$_FILES['fname']['name']);
$fname=clean(implode('',array_slice($fArr,0,-1,false)));
$ex=clean(implode('',array_slice($fArr,-1,1)));
$file_name=$fname.".".$ex;
function clean($str) {
$strArr=array();
$strArr=explode(' ',$str);
foreach ($strArr as $key=>$val) {
if (strlen($strArr[$key])==0) {
unset($strArr[$key]);
}
}
$strArr=array_map('strtolower',$strArr);
$str=implode(' ',$strArr);
$str=preg_replace("/\W+/i","",$str);
return $str;
}
答案 1 :(得分:0)
您可以使用preg_replace删除您不想要的字符 ,你可能想要这样的东西http://www.phpbuilder.com/board/showthread.php?t=10291707