2015-05-27 57 views
-1

我想上傳一個文件,但我總是得到一個錯誤:立案PHP未定義指數上傳

Notice: Undefined index: file_pdf in C:\xampp\htdocs\FYP2\site_admin\pentadbiran\upload.php on line 10 

我的代碼範例中得到來自表單數據,並上傳到我的數據庫提供的信息如file_reference,file_name,file_location和file_pdf。

但問題是,代碼運行良好,但不會更新表中的file_pdf列。但文件上傳到目標文件夾正在工作。

if (isset($_POST['submit'])) { 
$file_reference = $_POST['file_reference']; 
$file_name = $_POST['file_name']; 
$file_location = $_POST['file_location']; 
$file_pdf = $_POST['file_pdf']; 

if ($_FILES['file_pdf']['error'] == UPLOAD_ERR_OK) 

{ 
    $ext = strtolower(pathinfo($_FILES['file_pdf']['name'],PATHINFO_EXTENSION)); 
    switch ($ext) 
    { 
     case'pdf': 
      break; 
     default: 
      throw new InvalidFileTypeException($ext); 
    } 

    $targetfolder = "pdf/"; 

    $targetfolder = $targetfolder . basename($_FILES['file_pdf']['name']); 

    if (move_uploaded_file($_FILES['file_pdf']['tmp_name'], $targetfolder)) { 

     echo "The file " . basename($_FILES['file_pdf']['name']) . " is uploaded"; 

    } else { 

     echo "Problem uploading file"; 

    } 


    $sql = "INSERT INTO file (file_reference,file_name,file_location,file_pdf) 
VALUES ('$file_reference','$file_name','$file_location','$file_pdf')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

} 

該代碼運行,但在我的數據庫中file_pdf不更新。爲什麼?

回答

0

全球$_FILES將包含所有上傳的文件信息。來自示例表格的內容如下。請注意,這假定使用文件上傳名稱userfile,如上面的示例腳本中所使用的。這可以是任何名稱。

$_FILES['userfile']['name']客戶機上文件的原始名稱。

$_FILES['userfile']['type']文件的MIME類型,如果瀏覽器提供了此信息。一個例子就是「image/gif」。然而,這種MIME類型在PHP方面沒有被檢查,因此不會將其值視爲理所當然。

$_FILES['userfile']['size']上傳文件的大小(以字節爲單位)。

$_FILES['userfile']['tmp_name']上傳文件存儲在服務器上的臨時文件名。

$_FILES['userfile']['error']與此文件上傳相關的錯誤代碼。

改變了...

$file_pdf = $_POST['file_pdf']; 

$file_pdf = $_FILES['file_pdf']['name']; 
+0

謝謝你們的幫助。及其在我的項目上的全部工作。 ;) –