首页 热点资讯 义务教育 高等教育 出国留学 考研考公

php多用户同时上传时判断文件名是否相同,如果相同给出提示同名文件已经存在,且只有文件名不同才可上传

发布网友 发布时间:2022-04-22 14:56

我来回答

3个回答

热心网友 时间:2023-11-09 21:10

文件上传一般情况下服务器都会生成文件名的,完全可以避免文件名重复 并且能统一文件名,如果你只想用客户端传过来的文件名也可以:

$filename = $_FILES['file']['name'];  // 获取用户提交的文件名
$sql = "SELECT id FROM tablename WHERE logo='$filename'";   // 当前文件名是否存在
$r = $dbh -> query($sql);   // 直接用PDO操作
if ($r -> rowCount() > 0) {
    exit('该文件名已经重复');
}
// 若文件名不存在上传新LOGO
$sql = "UPDATE tablename SET logo='$filename' WHERE logo='$filename'";
$r = $dbh -> exec($sql);
$message = $r ? '保存成功' : '保存失败';
echo $message;

热心网友 时间:2023-11-09 21:10

是要代码还是思路?
最好上传的时候把文件名写入数据库,
当上传完成时检查数据库是否有这个文件名。
不需要考虑多用户同时上传,
因为毕竟有先有后

热心网友 时间:2023-11-09 21:11

你可以换个思路,起个不一样的名字就可以,比如用户名+时间+ip,这样就不会出现同文件名了,这样还能提高效率追问用户名中文会乱码

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com