为了账号安全,请及时绑定邮箱和手机立即绑定

上传PHP时如何重命名文件

上传PHP时如何重命名文件

PHP
动漫人物 2023-03-11 15:48:08
我正在使用以下代码上传文件,一切正常,我只想上传新名称的文件,该名称应该是当前上传时间,实际上我想上传名称为上传时间的文件<?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"]);


查看完整回答
反对 回复 2023-03-11
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

默认情况下$_FILES['file']['name']是用户上传文件的实际名称,假设用户从资源管理器上传文件“demoImage.jpeg”,那么它就是您代码中分配给的实际名称$fileName,只需修改这行代码,如下所示:

改变这个

$fileName = basename($_FILES["file"]["name"]);

$fileName = Date('His') . $fileType;

您可以更改 Date 函数的参数来为您的文件名生成特定的日期/时间。


查看完整回答
反对 回复 2023-03-11
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信