使用php上传文件时添加新文件夹

时间:2012-12-01 18:07:18

标签: php

我想使用用户电子邮件地址自动创建文件夹(如果尚不存在)。上传文件时应执行此操作。

解决。我为可能需要它的任何人更新了此代码。谢谢!

这是我的代码:

if(isset($_POST["checkFile"]) && $_FILES["selectFile"]["name"] != "") {
            $target_path_pdf = "uploads/pdfs/$email/";

            if ( ! is_dir($target_path_pdf)) {
                mkdir($target_path_pdf);
            }

            $target_path_pdf = $target_path_pdf . str_replace(' ', '_', basename($_FILES["selectFile"]["name"]));
            if(move_uploaded_file($_FILES["selectFile"]["tmp_name"], $target_path_pdf)) {
            }
            else {
                $flag = 1;
            }
            $pdfcaption = $_POST['pdfCaption1'];
        }

        if(isset($_POST["checkPicture"]) && $_FILES["selectPicture"]["name"] != "") {
            $target_path_pic = "uploads/pictures/$email/";

            if ( ! is_dir($target_path_pic)) {
                mkdir($target_path_pic);
            }


            $target_path_pic = $target_path_pic . str_replace(' ', '_', basename($_FILES["selectPicture"]["name"]));
            if(move_uploaded_file($_FILES["selectPicture"]["tmp_name"], $target_path_pic)) {
            }
            else {
                $flag = 1;
            }
            $piccaption = $_POST['picCaption1'];
        }

1 个答案:

答案 0 :(得分:0)

这可能不是超级安全,但这是一个不同的问题。

第一部分:

$target_path_pdf = "uploads/pdfs/$email/";

if(!is_dir($target_path_pdf)){
    mkdir($target_path_pdf);
}

http://php.net/manual/en/function.mkdir.php

修改

尽管可能很明显,解释也不会有害。 该脚本只是检查目录是否已存在,如果不存在则创建一个。