我试图处理文件上传,现在我面临着一个困境。我有我其实考虑使用处理时的文件名两个选项:如何处理文件上传名称
选项1:
move_uploaded_file($_FILES['pdf']['tmp_name'], sprintf('./uploads/%s.%s', sha1_file($_FILES['pdf']['tmp_name']),$ext
选项2:
move_uploaded_file($_FILES['pdf']['tmp_name'], sprintf('./uploads/%s.%s', "name_$date", $ext
首先会生成sha1_file看起来并不哈希漂亮(我想从数据库中获取上传的文件名并在页面上显示),但会阻止多个相同的文件上传。
其次得到一个很好看的文件名,但并不妨碍重复(file_exists
似乎认识到重复的,但我不能停止move_upload_file
)
你会建议我做的就是很好的文件名没有文件上传重复?
我想过移动sha1文件,并以这种方式重命名它,但我不知道是否可以通过移动文件来获得相同的哈希值? – korni
我不明白你在说什么。您需要:1.从文件中获取哈希值2.使用哈希名称创建一个临时目录3.将上传的文件以其原始名称移动到该目录中。该解决方案有什么问题? –
问题是我无法将哈希变量。如果你知道如何获得散列,请让我知道。 – korni