致命错误:无法在中重新分配自动全局变量_FILESC: 第1395行上的''examplep''htdocs''user''utils''CommonUtils.php
1395行的代码是
public static function saveAvatar($code, $pilotid, $_FILES) {
函数参数不能使用$_FILES
,它是保留字,用它代替
public static function saveAvatar($code, $pilotid, $files) { }
并且为了调用通过像这个一样的CCD_ 2
saveAvatar($code, $pilotid, $_FILES);
或
您也可以直接访问$_FILES
,而无需在函数内部的函数参数中传递它。
您正试图在本地scpe中设置一个名为$_FILES的变量作为saveAvatar()方法的参数;但不能,因为它是一个特殊的超全局。
将线路更改为
public static function saveAvatar($code, $pilotid) {
$_FILES超全局仍然可用于该方法,因为它是一个超全局
我也面临着同样的问题。然后我刚从变量列表中删除了$_FILES变量,我的网站又开始工作了。
通常我们不能重新分配$_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 & Save</button>
</form>