我有这个文件,我通过php文件上传到服务器..
6;'!8.jpg
我使用此代码删除非字母数字字符..
$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);
工作正常,但它会像我这样返回我的图像
68jpg
将此作为68.jpg
有什么想法吗?
答案 0 :(得分:2)
不要使用ereg / eregi。不推荐使用这些函数。请改用PCRE函数。
试试这种方式
$image1 = preg_replace("#[^a-z0-9\.]#i", null, $_FILES["image"]["name"]);
答案 1 :(得分:0)
请尝试使用此代码:
$image1 = ereg_replace("[^A-Za-z0-9\\.]", "", $_FILES["image"]["name"]);
但是您应该尝试使用preg_
而不是ereg_
PHP函数,因为它们更高效(并且不会弃用)。
答案 2 :(得分:-1)
您可以使用PHP的pathinfo($ _ IMAGE [“image”] [“name”])命令来拆分文件名的基本路径,基本名称和文件扩展名。然后,您可以在basename上运行搜索n'replace(如@John Conde推荐),然后将基本名称和文件扩展名重新连接在一起。