Измените имя файла на uniqid в PHP - PullRequest
3 голосов
/ 11 января 2012

Я хочу изменить свой код ниже, чтобы он мог принимать случайно сгенерированный уникальный идентификатор для замены имени с помощью функции php uniqid.Я попробовал пару способов без успеха.

 move_uploaded_file($_FILES["file"]["tmp_name"],
 "upload/" . $_FILES["file"]["name"]);
 $ipath = "upload/";
 $ipath .= $_FILES["file"]["name"];

Кто-нибудь знает, как мне это сделать?

Редактировать: Я спрашиваю, куда поместить функцию uniqid, чтобы файл сохранялся с uniqid.extension в папке на моем сервере.

Ответы [ 3 ]

9 голосов
/ 11 января 2012
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']);

\\ edit: использовать переменную $ ipath ...

$fileInfo = pathinfo($_FILES["file"]["name"]);
$ipath = "upload/" . uniqid() . '.' . $fileInfo['extension'];
move_uploaded_file($_FILES["file"]["tmp_name"], $ipath);
1 голос
/ 11 января 2012
$newName = md5_file($ipath);

Создает md5 содержимого файла, должно быть довольно уникальным.

0 голосов
/ 02 июля 2015
$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')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...