我正在制作一些用户可以上传文件的东西,特别是图像(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/