2016-06-08 4 views
-1

Я не понимаю, почему этот код не работает. Вывод из load_docs_2.php: Array() Неверный тип файла. Это выполняется на XAMPP.Почему мой файл не работает в PHP?

HTML, является:

<form id="import_form" method="post" action="load_docs_2.php" enctype="multipart/form-data"> 
    <label for "importfile">Import PDF File</label><br> 
    <input id="import_name" name="load" type="file" value="Upload File"><br><br> 
    <input id="import" name="import" type="submit" value="Import"> 
</form> 

load_docs_2.php является:

<?php 

// Capture file data 

print_r($_FILES); 

$loadname = $_FILES["load"]["name"]; // name contains original name 
$loadname_temp = $_FILES["load"]["tmp_name"]; // tmp_name contains the temporary file name 

// Check file meta data 
$import_size = $_FILES["load"]["size"]; 
$import_type = $_FILES["load"]["type"]; 

// Setting target folder 
$target_dir = "./Staff Docs"; 
$target_file = $target_dir . $loadname; // Create target file path 

// Move to import folder 

$allowed = array('pdf'); 
$ext = pathinfo($loadname, PATHINFO_EXTENSION); 

if (!in_array($ext,$allowed)) 
{ 
    echo 'Incorrect file type'; 
}  
else 
{ 
    move_uploaded_file($loadname_temp, $target_file); 
} 

?> 

Почему не работает загрузка файла?

+0

Может ли вы закончить с последним вопросом, я должен был трассировка всего пути до название там, я действительно не согласен начинать вопрос с заголовком, но не повторяю его в самом вопросе. ИМО лучше всего сделать окончательное резюме после кода. – blamb

+0

$ target_dir = "./Staff Docs /"; целевая папка «Документы персонала» означает, что вам нужно завершить косую черту – JYoThI

+0

, есть ли какие-либо ошибки? – JYoThI

ответ

0

вы можете изменить этот код

$target_dir = "Staff Docs/"; 

теперь его работает отлично

+0

Сотрудники Документы находятся в том же каталоге, что и файл исходного кода. – Trevor

+0

Проблема заключается в том, что оператор print_r ($ _ FILES) в load_docs_2.php выводит результат: Array(). т.е. данные файлов не передаются в load_docs_2.php – Trevor

+0

его рабочий тон в моем xampp –

0

Ваш Target File не является правильным. Сепаратор разделов каталога между целевым каталогом и файлом отсутствует, поэтому результат будет по существу неправильным.

<?php 

    // Capture file data 

    print_r($_FILES); 

    $loadname  = $_FILES["load"]["name"]; // name contains original name 
    $loadname_temp = $_FILES["load"]["tmp_name"]; // tmp_name contains the temporary file name 

    // Check file meta data 
    $import_size = $_FILES["load"]["size"]; 
    $import_type = $_FILES["load"]["type"]; 

    // Setting target folder 
    //$target_dir = "./Staff Docs"; //<== THIS IS WHERE THE PROBLEM WAS... 
    $target_dir  = "./Staff Docs/"; //<== ADD A DIRECTORY SEPARARATOR BEFORE CONCATENATING WITH $loadname... 
    $target_file = $target_dir . $loadname; // Create target file path 

    // Move to import folder 
    $allowed  = array('pdf'); 
    $ext = pathinfo($loadname, PATHINFO_EXTENSION); 

    if (!in_array($ext,$allowed)){ 
     echo 'Incorrect file type'; 
    }else{ 
     move_uploaded_file($loadname_temp, $target_file); 
    } 

При желании можно добавить разделитель каталогов непосредственно на линии, которая описывает $ целевой_файл как так:

<?php 

    // Capture file data 

    print_r($_FILES); 

    $loadname  = $_FILES["load"]["name"]; // name contains original name 
    $loadname_temp = $_FILES["load"]["tmp_name"]; // tmp_name contains the temporary file name 

    // Check file meta data 
    $import_size = $_FILES["load"]["size"]; 
    $import_type = $_FILES["load"]["type"]; 

    // Setting target folder 
    $target_dir  = "./Staff Docs"; //<== THIS IS WHERE THE PROBLEM WAS... 
    $target_file = $target_dir . DIRECTORY_SEPARATOR . $loadname; // Create target file path 

    // Move to import folder 
    $allowed  = array('pdf'); 
    $ext = pathinfo($loadname, PATHINFO_EXTENSION); 

    if (!in_array($ext,$allowed)){ 
     echo 'Incorrect file type'; 
    }else{ 
     move_uploaded_file($loadname_temp, $target_file); 
    } 
Смежные вопросы