gpt4 book ai didi

php - 非法偏移类型

转载 作者:行者123 更新时间:2023-12-03 01:38:35 25 4
gpt4 key购买 nike

我在通过 php 上传文件时遇到问题。我在流程开始时检查文件类型,但收到错误。

这是我收到的错误:

Warning: Illegal offset type in /balblabla/DBfunctions.inc.php on line 183

这是打印出来的 $_FILES var

Array ( [Picture] => Array ( [name] => JPG.jpg [type] => image/jpeg [tmp_name] => /tmp/phpHlrNY8 [error] => 0 [size] => 192221 ) )

这是我正在使用的给我带来问题的代码段:

function checkFile($file, $type)
{
if( in_array($_FILES[$file]['type'], $type) ){ // <--- LINE 183
return true;
}//if
return false;
} // end checkFile()

这是调用该函数的代码行

if( checkFile( $_FILES['Picture'], array("image/jpeg") ) == true ){
//do stuff
}// end if

我已经在我自己的服务器上的数十个网站上使用了这段代码,所以我猜测这是一些不同的配置选项。我如何修改我的代码,以便它可以在不同的服务器上运行?

最佳答案

您正在向 checkFile 函数传递一个数组,而不是字符串/整数索引。

要解决此问题,请进行以下更改之一:

更改检查文件,使其使用传入的数组进行检查,因此:

if( in_array($file['type'], $type) )

或者更改调用此函数的代码,以便它传递要用作索引的文件名而不是文件数组,因此:

if( checkFile('Picture', array("image/jpeg") ) == true )

任何一个改变都会起作用。

关于php - 非法偏移类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2188456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com