我想通過向文件名添加日期/時間來防止重複的圖像文件上載。如何防止更改日期/時間php
我有一個圖像預覽,如果用戶上傳圖像文件,該文件將被髮送到具有日期時間戳的文件夾。當用戶填寫表單並將圖像和表單細節發佈到數據庫時,圖像文件上的圖像分鐘會發生變化。
我遇到的問題是當圖像文件發送到文件夾日期時間設置例如。 image 17 10 2017 10 18.jpg但是當我爲數據庫創建映像路徑時,分鐘會改變,例如。圖片17 10 2017 10 19.jpg。
1)文件使用Ajax ie發送到文件夾。 filename.date.extension
2)文件路徑發送到數據庫後填寫表格,即。文件路徑/ filename.date.extension
日期/時間不匹配1)被認爲是等於2)
<?php
// Uploaded file sent via AJAX
$mainImg = $_FILES['mainImg']['name'];
$ext = pathinfo($mainImg, PATHINFO_EXTENSION);
$justname = basename($mainImg,".$ext");
// Prevent duplicate
$pd = date(" d m y H i ");
// 6)Rename the main Image
$dateAdded = $justname.$pd.".".$ext;
FILE IS SENT TO THE FOLDER THEN WHEN FORM IS FILLED OUT AND POSTED ALL
INFO GOES TO DATABASE...
if (isset($_POST['submit'])){
$directory = "Images/";
$filetodatabase = $directory.$dateAdded;
//CONNECT AND INSERT DATA INTO DATABASE USING MYSQL
}
所以你生成一個AJAX文件上傳時間戳和表單提交後的第二個時間戳?是的,這兩個時間戳可能不同。您應該在AJAX文件上傳完成後將時間戳發送回瀏覽器,並將其存儲在隱藏的表單輸入中。並且不要再次生成時間戳使用存儲在隱藏輸入中的時間戳。這樣它就會一樣。 – Matey
謝謝,我生成一個隨機數字,通過AJAX發送圖像,同時將相同的數字發送到隱藏的輸入。我不得不拆分Ajax上傳文件和表單上傳文件。 – ticktock