How to create destination (Folder) in PHP while using move_uploaded_file()?

前端 未结 5 1419
无人共我
无人共我 2020-12-29 06:41

I want to upload files with PHP and i use move_uplload_files to copy them to the destination folder I want, everything works fine with this :

if (move_upload         


        
相关标签:
5条回答
  • 2020-12-29 07:23
    if($_FILES['file_up']['type']=='image/jpeg' || $_FILES['file_up']['type']=='image/png' || $_FILES['file_up']['type']=='image/gif')
    {
        move_uploaded_file($_FILES['file_up']['tmp_name'],'uploads/'.time().$_FILES['file_up']['name']);
    }
    else
    {
        echo "Upload only image file..";
    }
    
    0 讨论(0)
  • 2020-12-29 07:34

    Use mkdir().

    If you need to make multiple folders, such as by passing a/b/c, set the third argument to TRUE.

    You can test if it is already there, and add if not like so....

    $path = 'abc';
    
    if ( ! is_dir($path)) {
        mkdir($path);
    }
    
    0 讨论(0)
  • 2020-12-29 07:36

    This works for me:

    $path = "upload/";
    $name = $_FILES["file"]["name"];
    // Remove dangerous characters from filename.
    $name = str_replace('..', '', $name);
    $name = str_replace('/', '', $name);
    $name = str_replace('\\', '', $name);
    
    if (($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/jpg")
    && ($_FILES["file"]["size"] < 2000000)) {
          if ($_FILES["file"]["error"] > 0) {
            echo "Error " . $_FILES["file"]["error"] . "<br>";
          } else {
            if(file_exists($path.$name)){
                echo "$path$name already exists. ";
            } else {                
                @mkdir($path, 0666, true);  // Create non-executable upload folder(s) if needed.
                move_uploaded_file($_FILES["file"]["tmp_name"], $path.$name);
                echo "Stored in: $path$name";
            }
        }
    } else {
        echo "Invalid file. Allowed are JPG smaller than 2 MB.";
    }
    
    0 讨论(0)
  • 2020-12-29 07:39

    Use something like this:

    $folder = "uploads"; 
    if(!is_dir($folder)) mkdir($folder);
    

    is_dir() checks if the folder is there.

    0 讨论(0)
  • 2020-12-29 07:44

    Create the directory first using mkdir()

      $rand =  chr(rand(97, 122)). chr(rand(97, 122)). chr(rand(97, 122));
        mkdir('./uploades/'.$rand);
        if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], './uploades/'.$rand))
        die("success");
        else
        die("error");
    
    0 讨论(0)
提交回复
热议问题