我正在使用以下代碼上傳文件,一切正常,我只想上傳新名稱的文件,該名稱應該是當前上傳時間,實際上我想上傳名稱為上傳時間的文件<?php$statusMsg = '';// File upload path$targetDir = "../uploads/";$fileName = basename($_FILES["file"]["name"]);$targetFilePath = $targetDir . $fileName;$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){ // Allow certain file formats $book_title=$_POST['book_title']; $allowTypes = array('jpg','png','jpeg'); if(in_array($fileType, $allowTypes)){ // Upload file to server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Insert image file name into database $insert = mysqli_query($con,"INSERT into books (book_title,book_author,book_image,book_url) VALUES ('','','".$fileName."', '.')"); if($insert){ $statusMsg = "The file ".$fileName. " has been uploaded successfully."; }else{ $statusMsg = "File upload failed, please try again."; } }else{ $statusMsg = "Sorry, there was an error uploading your file."; } }else{ $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.'; }}else{ $statusMsg = 'Please select a file to upload.';}// Display status messageecho $statusMsg;?>
2 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
將當前日期添加到從用戶收到的文件名中
$fileName = date('Y-m-d_') . basename($_FILES["file"]["name"]);
如果他們在一天內添加多個文件,您也可以添加時間
$fileName = date('Y-m-d_His_') . basename($_FILES["file"]["name"]);

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊
默認情況下$_FILES['file']['name']
是用戶上傳文件的實際名稱,假設用戶從資源管理器上傳文件“demoImage.jpeg”,那么它就是您代碼中分配給的實際名稱$fileName
,只需修改這行代碼,如下所示:
改變這個
$fileName = basename($_FILES["file"]["name"]);
到
$fileName = Date('His') . $fileType;
您可以更改 Date 函數(shù)的參數(shù)來為您的文件名生成特定的日期/時間。
- 2 回答
- 0 關注
- 160 瀏覽
添加回答
舉報
0/150
提交
取消