将图像上传到不同的user_id的不同文件夹中

时间:2014-06-13 06:11:22

标签: php

我是PHP的新手。我已经制作了一个用户注册表,其中包括user_id,名称,密码,电子邮件以及用户上传的图像。我希望这些图像能够存储在不同文件夹中的不同用户中。

例如,如果user_id为“aa”,则创建一个新文件夹名称“aa”,图像将保存到文件夹名称“aa”,依此类推..

我在Google上搜索过但无法找到解决问题的更好方法。如果你知道这个问题,请帮助我。感谢。

5 个答案:

答案 0 :(得分:1)

试试这个

$user_id = 'aa';
$upload_dir = "uploads/". $user_id;
//Check for folder if not exist create 
if (!file_exists($upload_dir)) {
      mkdir($upload_dir);
}

// Move the uploaded file
move_uploaded_file($_FILES["upload"]["tmp_name"], $upload_dir.'/'. $_FILES["upload"]["name"]);

您可以使用此链接继续上传图片http://www.w3schools.com/php/php_file_upload.asp

答案 1 :(得分:1)

我认为您可以尝试创建目录

mkdir(path,mode,recursive,context) ..

有关详细信息,请查看this link

答案 2 :(得分:0)

您可能正在寻找mkdir,所以

mkdir ($user_id);

答案 3 :(得分:0)

1-创建名为“images”的目录

2-生成用户ID并将其保存在变量$ id

3- If(!isDir($ id))           mkdir($ id);

4- move_uploaded_file($ _FILES [“image”] [“name”],“images / $ id /".$ id。”。png“);

5-完成......

答案 4 :(得分:0)

<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post" name="main" enctype="multipart/form-data" >
<input name="image" type="file" />//file upload
</form>


<?php
if (!empty($_FILES['image']['name'])) {
    $errors      = array();

    $allowed_ext = array(
        'png',
        'bmp',
        'jpg',
        'jpeg',
        'JPG',
        'PNG',
        'JPEG'
    ); //do neccessary validation

    $file_name   = $_FILES['image']['name'];
    $array       = explode('.', $file_name);
    $file_ext    = end($array);
    $file_size   = $_FILES['image']['size'];
    $file_tmp    = $_FILES['image']['tmp_name'];

    if (!(in_array($file_ext, $allowed_ext) == false) || empty($_FILES['image']['name'])) {

        if ($file_size < 40097152 || empty($_FILES['image']['name'])) {
            if (empty($errors)) {
                $dir    = "./images";
                $userid = isset($_POST['userid']) ? $_POST['userid'] : "";
                $dir1   = $dir . "/" . $userid;
                if (!is_dir($dir1)) {
                    mkdir($dir1);
                }

                move_uploaded_file($file_tmp, $dir1 . "/" . $file_name);

            } else {

                foreach ($errors as $error) {
                    $flag = 0;
                    echo "<script language=javascript> alert(\"File upload error

    \");</script>";
                }
            }
        } else {
            $flag = 0;
            echo "<script language=javascript> alert(\"File Size Limit 20MB\");</script>";
        }
    } else {
        $flag = 0;
        echo "<script language=javascript> alert(\"Invalid Upload File Format\");</script>";
    }
}
?>