2013-02-19 85 views
4

Fatal error: Cannot re-assign auto-global variable _FILES in C:\xampp\htdocs\user\utils\CommonUtils.php on line 1395致命錯誤:不能重新分配自動全局變量

代碼上線1395是

public static function saveAvatar($code, $pilotid, $_FILES) { 
+1

我已經刪除了MySQL的標籤。請注意標籤應該描述你的問題,而不是你的項目。 – 2013-02-19 09:51:05

回答

10

你不能使用$_FILES它的保留字的功能參數,用它來代替

public static function saveAvatar($code, $pilotid, $files) { } 

,並調用傳遞$_FILES這樣

saveAvatar($code, $pilotid, $_FILES); 

OR

您也可以直接訪問$_FILES沒有傳遞給它的函數參數的內部功能。

4

您試圖在本地scpe中設置一個名爲$ _FILES的變量作爲saveAvatar()方法的參數;但不能,因爲它是特殊超全球之一。

行更改爲

public static function saveAvatar($code, $pilotid) { 

的$ _FILES超全局仍然將提供給該方法簡單,因爲它是一個超全局

0

我也面臨同樣的問題。然後我從變量列表中刪除了$ _FILES變量,我的網站又開始工作了。

+1

謝謝你的風格答案,只是重複一個已發佈的答案不適合這個網站。 – bwoebi 2016-12-29 22:24:57

0

通常我們不能重新分配$ _Files,這意味着我們無法將自動超級全局變量作爲參數或函數傳遞。但我們有一個備用解決方案。

傳遞文件作爲參數

function ImageProcess(array $_File){ 
      $image  = $_FILES["file"]["name"]; 
      $uploadedfile = $_FILES['file']['tmp_name']; 
      //Write your code here... 
    } 

通話,支持自動全局變量作爲自變量的函數。

if ($_SERVER['REQUEST_METHOD'] == "POST") { 
     if(isset($_FILES['file'])){ 
     echo ImageProcess($_FILES['file']); 
     } 
    } 

表格上傳

<form method="post" action="<?php $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data"> 
     <input type="file" name="file" /> 
     <button type="submit">Update &amp; Save</button> 
    </form> 
相關問題