2015-03-16 1 views
0

Я хочу загрузить файлы, отправленные пользователями в соответствующую папку. Это мой код. Он не загружается туда, где я хочу.Как загрузить файл в php и переместить файл в специальную папку

$type=$_POST["type"]; 
$username_post=$_POST["username"]; 
$text=$_POST["text"]; 
$image=basename($_POST["image"]); 
$page_number=$_POST["page_number"]; 
$video=basename($_POST["video"]); 
$voice=basename($_POST["voice"]); 
$title=$_POST["title"]; 
$dir=$username_post; 
if(is_dir($dir) === false) 
    { 
     mkdir($dir,0666, true); 
     mkdir($dir.'/'.$title,0666, true); 
    } 
    else 
    { 
     mkdir($dir.'/'.$title,0666, true); 
     } 

    if(is_dir($dir.'/'.$title) === true) 
    { 
    $uploads_dir =$dir.'/'.$title; 
    $tmp_name = $_FILES["file"]["tmp_name"]; 
    $name = $_FILES["file"]["name"]; 
    move_uploaded_file($tmp_name,$uploads_dir.'/'.$name); 
    } 
+1

Какая ошибка вы получаете? Вы проверили $ _FILES? –

+0

Вы должны защитить свой код, чтобы избежать инъекций (дезинфицируйте все, что предоставляется пользователем, в данном случае $ title). – NaeiKinDus

+0

Пожалуйста, прочитайте об этом, прежде чем вы ставите вопрос. Например, [w3schools] (http://www.w3schools.com/php/php_file_upload.asp) сделал хороший учебник, подходящий для новичков. Вы не предоставили нам достаточно подробностей, чтобы кто-то действительно мог вам помочь. – Eda190

ответ

0
  1. Прежде всего, вы не должны создавать каталог из почтового значения пользовательского ввода. Пример: если пользователь вводит некоторые запрещенные символы, такие как «/ * |» в вашем $ _POST ['username'], то вы не сможете создать каталог с этими значениями. Проверьте, есть ли у вас разрешение на создание каталога в этой папке.
  2. Вторая проверка $ _FILES ['file'] ['error'] == 0 или нет. если не 0, файл имеет ошибку и не может быть загружен.
  3. Используйте «условие else» для последней инструкции «if», чтобы увидеть, выполняется ли инструкция «if».
  4. Также проверьте, были ли у вас упомянутые enctype = "multipart/form-data" в теге формы.
Смежные вопросы