4

致命错误:无法在第 1395 行的 C:\xampp\htdocs\user\utils\CommonUtils.php 中重新分配自动全局变量 _FILES

第 1395 行的代码是

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

4 回答 4

11

您不能将$_FILES其用于函数参数,它是保留字,请使用此代替

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

并调用$_FILES像这样的传递

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

或者

您也可以直接访问$_FILES而不在函数内部的函数参数中传递它。

于 2013-02-19T09:49:25.003 回答
5

您正在尝试在本地 scpe 中设置一个名为 $_FILES 的变量作为 saveAvatar() 方法的参数;但不能,因为它是特殊的超全局变量之一。

将行更改为

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

$_FILES 超全局变量仍然可用于该方法,因为它是一个超全局变量

于 2013-02-19T09:50:38.470 回答
0

通常我们不能重新分配 $_Files,这意味着我们不能将 auto 超级全局变量作为参数或函数传递。但我们有替代解决方案。

将文件作为参数传递

  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>
于 2017-10-17T18:18:32.950 回答
0

我也面临同样的问题。然后我刚刚从变量列表中删除了 $_FILES 变量,我的网站又开始工作了。

于 2016-12-29T22:10:12.793 回答