Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将文件名更改为uniqid_Php_File - Fatal编程技术网

在PHP中将文件名更改为uniqid

在PHP中将文件名更改为uniqid,php,file,Php,File,我希望修改下面的代码,接受随机生成的唯一id,以使用php uniqid函数替换名称。我试过两种方法,但都没有成功 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); $ipath = "upload/"; $ipath .= $_FILES["file"]["name"]; 有人知道我怎样才能做到这一点吗 编辑:我询问将uniqid函数放在何处,以便文件以uniqi

我希望修改下面的代码,接受随机生成的唯一id,以使用php uniqid函数替换名称。我试过两种方法,但都没有成功

 move_uploaded_file($_FILES["file"]["tmp_name"],
 "upload/" . $_FILES["file"]["name"]);
 $ipath = "upload/";
 $ipath .= $_FILES["file"]["name"];
有人知道我怎样才能做到这一点吗


编辑:我询问将uniqid函数放在何处,以便文件以uniqid.extension存储在我服务器上的文件夹中

$newName = md5_file($ipath);
将生成md5的文件内容,应该是非常独特的

move_uploaded_file($_FILES["file"]["tmp_name"],
    "upload/" . uniqid());
或者,如果要保留文件扩展名:

$fileInfo = pathinfo($_FILES["file"]["name"]);

move_uploaded_file($_FILES["file"]["tmp_name"],
    "upload/" . uniqid() . '.' . $fileInfo['extension']);
\\编辑:要使用$ipath变量

$fileInfo = pathinfo($_FILES["file"]["name"]);
$ipath = "upload/" . uniqid() . '.' . $fileInfo['extension'];
move_uploaded_file($_FILES["file"]["tmp_name"], $ipath);
$aaa=uniqid();
$Image_New_Name=$aaa.“u”.basename($\u FILES[“fileToUpload”][“Name”]);
$target_dir=“upload/”$Image\u New\u Name;
如果(isset($_POST['submit'])){
//$target_file=$target_dir.basename($_FILES[“fileToUpload”][“name”]);
如果(移动上传的文件($文件[“fileToUpload”][“tmp\u名称”],$target\u目录)){
回显“文件”。已上载basename($\u文件[“fileToUpload”][“name”]);
回声“
”; } $id=$_POST['id']; $fullname=$_POST['fullname']; $password=$_POST['password']; $email=$_POST['email']; $gender=$_POST['gender']; $about\u me=$\u POST['about\u me']; $state=$_POST['state']; $country=$_POST['country']; 如果($_文件[“fileToUpload”][“name”]!=“”){ $image=$_文件[“fileToUpload”][“name”]; }否则{ $image='BlankFaceGraphic.jpg'; } $sql=“插入注册表(id、全名、密码、电子邮件、性别、关于我、州、国家、图像) 价值观 (“$id”、“$fullname”、“$password”、“$email”、“$gender”、“$about_me”、“$state”、“$country”、“$Image_New_Name”);
您的问题是如何生成唯一的文件名,还是将其放在
move\u uploaded\u file
调用中?我想问的是将uniqid函数放在哪里。好吧,@Connun给了您answer@user981053实际上,我不太明白这里的问题是什么…
我已经尝试了几种方法,但都没有成功。
毕竟,它只是获取文件扩展名和简单字符串连接。编辑为使用实际文件名而不是临时文件名来检索文件扩展名您知道如何将ipath设置为等于新文件名吗?
$aaa = uniqid();
$Image_New_Name = $aaa."_".basename($_FILES["fileToUpload"]["name"] );
$target_dir = "upload/".$Image_New_Name;

if(isset($_POST['submit'])) {

    //$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"] ); 

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir )) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]) ." has been uploaded.";
        echo "<br/>";
    }

    $id       = $_POST['id'];
    $fullname = $_POST['fullname'];
    $password = $_POST['password'];
    $email    = $_POST['email'];
    $gender   = $_POST['gender'];
    $about_me = $_POST['about_me'];
    $state    = $_POST['state'];
    $country  = $_POST['country'];


    if($_FILES["fileToUpload"]["name"] != "") {
        $image = $_FILES["fileToUpload"]["name"];
    } else {
        $image='BlankFaceGraphic.jpg';
    }

    $sql="insert into register(id,fullname,password,email,gender,about_me,state,country,image)
                        values
  ('$id','$fullname','$password','$email','$gender','$about_me','$state','$country','$Image_New_Name')";