Как создать пункт назначения (Папка) в PHP при использовании move_uploaded_file ()?

Я хочу загрузить файлы с помощью PHP, и я использую move_uplload_files, чтобы скопировать их в нужную папку, которую я хочу, все отлично работает с этим:

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], './uploades/')) die("success"); else die("error"); 

Но когда я пробую это

 $rand = chr(rand(97, 122)). chr(rand(97, 122)). chr(rand(97, 122)); if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], './uploades/'.$rand)) die("success"); else die("error"); 

Я получу ошибку, и похоже, что move_uploaded_files не может создавать папки. Как я могу это сделать ?

В основном я ищу способ сделать это, как file_put_contents() который создает путь, если не существует.

Related of "Как создать пункт назначения (Папка) в PHP при использовании move_uploaded_file ()?"

Используйте mkdir() .

Если вам нужно сделать несколько папок, например, передав a/b/c , установите третий аргумент в значение TRUE .

Вы можете проверить, есть ли он там, и добавить, если не так …

 $path = 'abc'; if ( ! is_dir($path)) { mkdir($path); } 

Используйте что-то вроде этого:

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

is_dir() проверяет, существует ли папка.

Сначала создайте каталог, используя 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"); 

Это работает для меня:

 $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."; } 
 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.."; }