2016-05-12 32 views
0

我在表單中有這個,我在想,作爲它的輸入名稱,我應該能夠用$ _POST []檢測它,但我不能看到它。這會解釋我什麼時候沒有任何反應。我沒有正確理解它嗎?

<input type="file" id="files" name="files" class="hidden" multiple="" > 
<label for="files">Select file</label> 
+0

你有使用'多部分/形式data'?像這樣:'

' – Thamilan

+0

您應該在窗體中使用multipart/form-data,然後嘗試打印$ _FILES –

回答

5

您可以訪問發佈的文件數據$_FILES

您可以在$ _FILES獲取文件名,文件類型,tmp_name的值,誤差大小

簡單〔實施例是:

HTML:

<form action="upload_manager.php" method="post" enctype="multipart/form-data"> 
    <h2>Upload File</h2> 
    <label for="fileSelect">Filename:</label> 
    <input type="file" name="photo" id="fileSelect"><br> 
    <input type="submit" name="submit" value="Upload"> 
</form> 

在php:

<?php 
if($_FILES["photo"]["error"] > 0){ 
    echo "Error: " . $_FILES["photo"]["error"] . "<br>"; 
} else{ 
    echo "File Name: " . $_FILES["photo"]["name"] . "<br>"; 
    echo "File Type: " . $_FILES["photo"]["type"] . "<br>"; 
    echo "File Size: " . ($_FILES["photo"]["size"]/1024) . " KB<br>"; 
    echo "Stored in: " . $_FILES["photo"]["tmp_name"]; 
} 
?> 
+1

加1實際上檢查'$ _FILES [「photo」] [「error」]'參數。使你幾乎獨特 – RiggsFolly

+0

@riggsFolly ...謝謝:) –

+0

我實際上正在做一個類似的測試,這就是爲什麼我感到困惑。原來我有一個錯誤地命名的變量,它把整個事情搞砸了。現在都好。 –

0

文件存儲在$_FILES,不$_POST

$_FILES變量

Manual對PHP文件上傳。

HTML表單:

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

upload.php的

<?php 
$target_dir = "uploads/"; 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk  = 1; 
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if (isset($_POST["submit"])) 
{ 
     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
     if ($check !== false) 
     { 
      echo "File is an image - " . $check["mime"] . "."; 
      $uploadOk = 1; 
     } 
     else 
     { 
      echo "File is not an image."; 
      $uploadOk = 0; 
     } 
} 
?>