我正在使用以下代码上传文件,一切正常,我只想上传新名称的文件,该名称应该是当前上传时间,实际上我想上传名称为上传时间的文件<?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 函数的参数来为您的文件名生成特定的日期/时间。
- 2 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消