Файлы, не загружаемые в динамически создаваемые папки / подпапки

Мне нужна помощь для решения этой проблемы. Файлы не загружаются в динамически создаваемые папки / подпапки!

создавая динамическую subfolder используя input type text и когда я загружал файл, перемещаемый для uploads folders но не перемещаемый в subfolder которая создается с использованием input type text input type text?

но динамически создавая отлично функционирующую функцию, а также показывая мне папку, которая вводится в текстовое поле в папку для загрузки

Здесь мой код

 //creating dynamically subfolders $folder = $_POST['folder']; foreach( $folder as $key => $value){ $dirPath = 'uploads/'.$value; $result = mkdir($dirPath); } if ($result == '1') { //file move on function $target_path = 'uploads/'.$results; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; } } else { echo $dirPath . " has NOT been created"; } } <form method="post" enctype="multipart/form-data"> <input name="uploadedfile" type="file" /><br /> <input type="text" id="folder" name="folder"><br /> <input type="submit" name="test" value="Upload File" /> </form> 

Моя проблема решена Теперь я выполнил свой сценарий

 //creating a folder $folder = $_POST['folder']; $dirPath = 'uploads/'.$folder; $result = mkdir($dirPath); if ($result == '1') { //file move on $target_path = $dirPath .'/' . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; } } else { echo $dirPath . " has NOT been created"; } } 

Попробуй это,

замещать

  $target_path = 'uploads/'.$results; 

в

 $target_path = $dirPath.'/'; 

В противном случае,

 $target_path = $dirPath .'/'. basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } 

Где определены результаты $? Вы используете его здесь:

$target_path = 'uploads/'.$results;

Зачем?

Кроме того, $ result является истинным или ложным возвратом mkdir (), поэтому вы не можете использовать его.