0

在这里,我想在上传文件夹中再创建一个文件夹,该文件夹将是唯一的,就像基于注册 ID 一样。

在数据库中,我想保存路径,如 ../upload/userid/image_name.jpg

这是我的 PHP 代码:-

session_start();
include 'db.php';
 $target_dir = "../upload/";
        $target_file = $target_dir . basename($_FILES["photo"]["name"]);

        $uploadOk = 1;

        // Check if $uploadOk is set to 0 by an error
        if ($uploadOk == 0) {
            echo "Sorry, your file was not uploaded.";
        // if everything is ok, try to upload file
        } else {
            move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file); 

        }

        $name = $_POST["name"];
        $email = $_POST["email"];

        $sql = "SELECT email FROM register where email='$email'";
        $qur = $connection->query($sql);
        if(mysqli_num_rows($qur)==0)
        {

        $password = md5($_POST["password"]);
        $phone = $_POST["phone"];

        $sql = "INSERT INTO register(name,email,password,photo,phone)
         VALUES ('$name','$email','$password','$target_file','$phone')";
        $success = $connection->query($sql);

        if (!$success) {
            die("Couldn't enter data: ".$connection->error);

        }else{
            echo "Thank You For registration <br>";

        }
        }else{
            echo "Email-id already exist";
        }
    $connection->close();
4

2 回答 2

1

试试这个代码。

if($uploadOk == 0){
 echo "Sorry, your file was not uploaded.";
}else{
mkdir($target_dir.$id);
//The variable $id is your registration id.
move_uploaded_file($_FILES["photo"]["tmp_name"], $target_dir.$id."/");
}
于 2018-06-15T09:56:03.413 回答
0

您可以使用 php 函数 mkdir("/path/to/my/dir"); 在将记录插入数据库后,您需要移动函数 move_uploaded_file 的使用 [在新注册的情况下]。插入记录后,您需要从 mysql 获取最后插入的 id,并在 mkdir 函数中使用它,其中包含要保存上传文件的文件夹的完整路径。

于 2018-06-15T09:44:29.333 回答