我正在尝试将用户提交的文章添加到我的网站(仅供管理员使用)。每篇文章都有一个选项,最多可以上传 3 张图片。我的数据库是这样设置的
文章
id
user_id
title
body
date_added
last_edited
照片
id (auto_increment)
article_id
首先我将文章保存在数据库中,然后我上传照片(临时),然后我在数据库中创建一个新的照片记录保存 article_id。然后我将上传的照片重命名为与照片记录的主键相同,并为png。
$filename = $photo->id . '.png';
我认为这是防止文件被覆盖的好方法。这对我来说似乎有缺陷。关于如何保存我的记录和照片有什么建议吗?
谢谢
最佳答案
只使用数据库主键来命名文件并没有什么错。
我看到的唯一真正的缺点是你最终得到了相当无用的文件名。有人可能会提示更具描述性的名称有助于搜索引擎排名等。
正如另一个答案所指出的,将文件重命名为以 .png 结尾不会使其成为 png。如果您想实际转换图像格式,您可能想看看 PHP 的内置 GD 库(或查找 ImageMagick)。
关于php - 如何在php中命名上传的文件以防止它们被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707045/