我試圖處理文件上傳,現在我面臨着一個困境。我有我其實考慮使用處理時的文件名兩個選項:如何處理文件上傳名稱
選項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