php - 存储用户上传的文件

标签 php file-upload seo user-input image-uploading

我正在制作一些用户可以上传文件的东西,特别是图像(jpg、gif 和 png)。我做了一些显而易见的事情,比如清理文件名,只允许字母、数字和一些符号,但我越想越觉得问题多。

例如,如果用户上传的文件与已存储的文件同名怎么办?它会覆盖它,所以我想在文件名的末尾附加一个时间戳,但这不会对 SEO 产生负面影响吗?

就存储用户上传的文件而言,标准做法是将文件实际存储在文件系统上、向数据库中添加一个条目并优化(在本例中为 SEO 图像)?


图片可以匿名上传。

最佳答案

一般来说,搜索引擎不会太在意,只要元数据没问题,文件名包含的相关信息尽量靠左即可。

例如,eiffel-tower.jpg、eiffel-tower-01.jpg 和 eiffel-tower-02736293.jpg 不会获得所有不同的 SEO 分数。

在您的特定情况下,将“-xx”附加到文件名,其中 xx 是同名的当前图像数 +1 就可以了。时间戳将更容易实现,但数字越少,它对搜索引擎和人们来说看起来就越漂亮。

另一种选择是按日期将它们存储到子文件夹中,例如/2014/03/eiffel-tower.jpg。同样,如果有人上传同名图片,您可以像上面那样附加“-xx”。

关于php - 存储用户上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21388762/

相关文章:

php - 简单的评级系统;获取当前条目的 ID 并发布到表中

php - makePartial() 返回 Mockery\Exception\BadMethodCallException : Method does not exist on this mock object

PHP分页和排序

php - 来自 Yoast on wordpress 的 Echo 页面描述

html - 把 <strong> 或 <em> 标签放在 <h1>, <h2>, ...标签影响 seo?

php - 在 jQuery.ajax 成功处理程序中使用 PHP 脚本的返回值时出现问题

php - 如何确认成员(member)注册?

c# - 为上传的图片创建 md5 散列

c# - 文件上传内容为空

java - 当抛出其他验证错误时如何处理文件上传