(php) - 帮助编写用于上传图像的脚本

时间:2009-12-29 04:15:02

标签: php image-uploading

我正在尝试将图像上传到服务器上的目录。我正在使用http://www.reconn.us/content/view/30/51/上的教程。

首先,这是使用PHP上传图像的好方法吗?

其次,我还要将信息存储在MySQL数据库中。处理与用户上传的名称相同的图像有什么好方法?例如,如果用户连续上传文件'test.png'2x,那么第二个文件名会发生什么?从上面的脚本中,两者都将获得一个唯一的文件名,但是当用户再次访问该图像时,我将如何?我不能只查询,因为我知道的唯一名称是我给它的重复名称,我绝对不知道服务器使用上传时间给它的唯一名称...

第三,图像的最大文件大小是多少?

2 个答案:

答案 0 :(得分:1)

您可以在上传后向用户报告唯一的网址,以便用户知道在哪里可以找到图片。因此,第一个test.png可能是http://www.example.com/images/fjdklagjsdl.jpg,第二个可能是http://www.example.com/images/jklfsdlkj.jpg

您还可以为用户提供某种界面以查看他们上传的图片。如果您在图像的唯一文件名旁边显示上传图像的缩略图,则用户可以轻松识别哪个图像是哪个。

答案 1 :(得分:0)

这是我使用的方法:

  1. 用户上传图片

  2. 服务器使用唯一(GUID或其他)文件名保存图像,并将 - 唯一生成的文件名和原始上载的文件名存储在数据库中

  3. 图片链接到使用original_filename表格的unique_filenameimages或primary_key。

  4. 图像来自服务器,使用存储在数据库中的原始文件名提供。这样可以避免文件名冲突的可能性并保留图像的原始文件名。此外,这允许您在original_filename列上构建搜索以供用户使用。

    使用此方法,永远不必向用户公开唯一的文件名,而是使用它们来查找与“images”表中的特定idoriginal_filename相关联的图像。 / p>

    当然,如果您不关心在显示图像时将原始文件名提供给图像,您只需在存储时生成唯一的文件名。