我已经看到类似的问题,但似乎没有人遇到我的问题。
我已经设置了一个进程来检查MySQL表中是否已存在文件名,如果已存在,则会在文件名和扩展名之间放置一个时间戳(EG Test.PDF
变为{ {1}}如果它是重复的),从而否定任何数据库冲突。
我的问题是,在数据库正确更新的同时,重复文件没有上传,名称中包含时间戳。相反,它使用重复的名称,只是覆盖原始并创建一个鬼"文件名"在数据库中列出。
我已经看到您可以使用Test-19:25:36
重命名服务器内存中的文件,然后再上传,但我已经尝试了多种方式,无法将其转换为在尝试将文件写入" / uploads"之前,将文件重命名为内存中的文件。夹。这是上传代码:
move_uploaded_file
有关如何在将文件写入uploads文件夹之前重命名文件的任何建议吗?
答案 0 :(得分:0)
我建议不要使用.prop("date-test", "tested):
来分隔您的时间戳,因为这会导致文件名限制问题。尝试做类似的事情:
.attr()
答案 1 :(得分:0)
将move_uploaded_file($_FILES['file1']['tmp_name'], $moveTargetVar);
替换为move_uploaded_file($_FILES['file1']['tmp_name'],$path . $filename);
已弃用$moveTargetVar = "uploads/" . $filename;