我正在创建个人资料表单,我允许用户存储他们的个人资料照片。为了确保名称不同并且不会被覆盖,我使用microtome功能重命名上传的文件:
$temp = explode(".",$_FILES["fileToUpload"]["name"]);
$newfilename = round(microtime(true)) . '.'. end($temp);
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],"subsites/uploads/". $newfilename
...但稍后当我以相同的形式调用$newfilename
变量时(为了保存数据库中的文件路径),它的值会发生变化。
<input type="hidden" name="FormPicName" id="FormFileName"
value=<?php echo $_FILES["fileToUpload"]["tmp_name"],"subsites/uploads/". $newfilename?>>
我尝试将$ newfilename存储为变量或会话变量,但它仍会生成不同的值。
有没有办法将基于microtome的变量保存为常量?
答案 0 :(得分:0)
这是一个很好的解决方案(我将其用于我的项目)
// get file extension
$ext = pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_EXTENSION);
// make new filename
$newfilename = uniqid('profilepic_').'.'.$ext;
$ newfilename将有类似profilepic_4b3403665fea6.jpg
的内容