1

我有这个文件,我通过php文件上传上传到服务器..

6;'!8.jpg

我使用此代码删除非字母数字字符..

$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);

效果很好,但它会像这样返回我的图像

68jpg

将其返回为的最佳方法是什么68.jpg

有任何想法吗?

4

3 回答 3

2

不要使用 ereg/eregi。这些功能已弃用。请改用PCRE函数。

试试这个方法

$image1 = preg_replace("#[^a-z0-9\.]#i", null, $_FILES["image"]["name"]);

于 2012-05-09T15:21:43.953 回答
0

试试这个代码:

$image1 = ereg_replace("[^A-Za-z0-9\\.]", "", $_FILES["image"]["name"]); 

但是你真的应该尝试使用PHP 函数preg_而不是ereg_PHP 函数,因为它们的性能更高(并且没有被弃用)。

于 2012-05-09T15:16:21.410 回答
-1

您可能可以使用 PHP 的 pathinfo($_IMAGE["image"]["name"]) 命令来分解文件名的基本路径、基本名称和文件扩展名。然后,您可以在基本名称上运行搜索 n' 替换(如@John Conde 建议的那样),然后将基本名称和文件扩展名连接在一起。

于 2012-05-09T15:27:43.533 回答