2014-01-23 56 views
-1

今天早上我的文件上傳工作正常,並使用小型csv文件做了幾次測試上傳,但是當我做了另一個測試時,它已停止工作。PHP文件上傳突然停止工作

$ _FILES ['file']的var_dump爲NULL,並嘗試如果($ _ FILES)不產生任何東西。 沒有其他人使用我的服務器,所以我知道一切都沒有改變。 這是我發佈到同一頁面的表單。

<form method="post" enctype="multipart/form-data" style="border:1px solid #999"> 
       <input type="file"> 
       <input type="hidden" name="customerID" value="<?=$_GET['customerID']?>"> 
       <input type="submit" value="Import"> 
      </form> 

PHP的處理程序:

if($_FILES) 
{ 
    if ($_FILES["file"]["error"] > 0) 
    { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
     $path = "files/".$_POST['customerID']."/"; 

     echo $path."<br>"; 

     if(!file_exists($path)) mkdir($path); 

     $path = $path.basename($_FILES['file']['name']); 

     echo $path."<br>".$_FILES['file']['tmp_name']."<br>"; 

     if(is_uploaded_file($_FILES['file']['tmp_name'])) 
     { 
      if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) echo "Upload success"; 

      else echo "Upload failed"; 
     } 
     else echo "No temp file"; 
    } 
+0

您還需要向我們展示您的PHP處理程序。但是,您可能需要爲您的''命名'這似乎是最可能的原因,而不會看到完整的代碼。 –

+0

你在共享主機平臺上嗎? GoDaddy,HostGator? 'echo ini_get('upload_max_filesize')。'
'.ini_get('post_max_size');'。同時檢查控制檯的網絡選項卡(F12),看看是否有故障。 – MonkeyZeus

+0

php處理程序現在,它與以前一樣工作,我也沒有名稱屬性要麼 – swdee

回答

0

你必須要改變的東西......因爲$ _FILES [ '文件']應該在代碼中未定義你給。在文件輸入沒有HTML形式的名稱屬性的情況下,大多數瀏覽器根本沒有發送文件。

簡單的改變:

<input type="file">

<input type="file" name="file">

+0

你是對的就是這樣,我想過它以前沒有,但一定已經完成了,謝謝大家。 – swdee

+0

15:21:54 <我的時間戳--- 15:22:29你的。 ;-) –

+0

對不起,不是我的錯。當你評論時,我正在寫它。還沒有看到您的評論。我不是那些關心這裏的點的人之一。只是想幫忙。 –

0

你需要一個 「name」 屬性添加到您的<input type="file">。您輸入的名稱將是$ _FILES中包含上傳的文件數據的數組元素的索引。