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

如何在保存到目录前重命名上传的文件?

如何在保存到目录前重命名上传的文件?

一只名叫tom的猫 2019-06-29 10:14:25
如何在保存到目录前重命名上传的文件?下面是我用来将文件上传到目录中的代码。效果很好。我的主要问题是:移动上载文件()是将上传的文件保存到目录中的文件,我也认为移动上载文件()是为它设置名字的那个。如何将文件名更改为随机数?我试图在以下方面这样做:$allowedExts = array("gif", "jpeg", "jpg", "png");$temp = explode(".", $_FILES["file"]["name"]);$extension = end($temp);if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 100000) && in_array($extension, $allowedExts)) {     if ($_FILES["file"]["error"] > 0) {         echo "Return Code: " . $_FILES["file"]["error"] . "<br>";     } else {         $fileName = $temp[0] . "." . $temp[1];         $temp[0] = rand(0, 3000); //Set to random number         $fileName;         if (file_exists("../img/imageDirectory/" . $_FILES["file"]["name"])) {             echo $_FILES["file"]["name"] . " already exists. ";         } else {             move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);             echo "Stored in: " . "../img/imageDirectory/" . $_FILES["file"]["name"];         }     }} else {     echo "Invalid file";}我尝试更改变量,例如$_files[“file”][“name”]并将其替换为$文件名;变量,以便可以存储新名称。
查看完整描述

3 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

中的第二个参数中的文件名,只需更改文件名即可。move_uploaded_file.

而不是

move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);

使用

$temp = explode(".", $_FILES["file"]["name"]);$newfilename = round(microtime(true)) . '.' . end($temp);move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);

更改以反映您的问题,是否会根据当前时间生成一个随机数,并从最初上传的文件中追加扩展名。


查看完整回答
反对 回复 2019-06-29
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

你可以试试这个

$newfilename= date('dmYHis').str_replace(" ", "", basename($_FILES["file"]["name"]));move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);


查看完整回答
反对 回复 2019-06-29
?
慕斯王

TA贡献1864条经验 获得超2个赞

你猜对了。阅读手册页move_uploaded_file..将第二个参数设置为您想要保存文件的任何地方。

如果它不起作用,您的$fileName..请张贴您的最新代码。


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 672 浏览
慕课专栏
更多

添加回答

举报

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