如何禁止文件名上的特殊字符,如“;()“;上传图像时


How to disallow special characters on file name like "()" upon uploading image?

我正在开发我的程序,用户将把图像上传到文档/文件夹。我的页面上有一个修改图像按钮,用户可以在其中编辑或向图像添加一些信息。

这是上传的URL:SAMPLE/index.php/document

然后我上传了sample.jpg//它正在修改

我再次上传了新的图片。这一次使用空间字符sample_(3)1.jpg//不起作用!您提交的URI包含不允许使用的字符。

这是修改的URL:SAMPLE/index.php/document/modify_document/sample_(3)1.jpg

我曾尝试在URI上包含验证并引用这些不允许使用的字符,但问题是我的一些网页受到了影响。(我的网站上有很多页面)

我认为最好的解决方案是通知用户不允许上传带有特殊字符的文件。我不知道如何在CodeIgniter中做到这一点。如果你有任何想法,请毫不犹豫地公布你的答案。谢谢

实际上,您可能不需要这样做。考虑到这一点,所有上传的用户文件都将存储在服务器上的一个目录中,如果两个用户上传了一个同名文件,或者一个用户上传的文件同名,那么引用它们就会出现问题。

因此,通常我所做的是用它的临时名称(如$_FILES["yourfile"]["tmp_name"])存储文件(在文件系统上),然后将这个文件名与其他字段一起存储在数据库中进行编辑,这些字段存储要向用户显示的"显示名称",或者在用户想要下载回文件时作为文件的名称。

类似的东西

表user_uploaded_pic{id,filepath,displayname}