我有以下从 iOS 应用程序接收文件的 PHP 代码。
接收到信息并为我的调试$file
器设置并具有所有形式的内容。传递的原始值为btn-7.png
and $file[0] = btn-7
。
当我在文件夹中看到它们时,该功能已处理并将所有图像复制到系统中......因此我不知道为什么会出现此错误。
错误出现在显示的函数可用的第一行中$_FILES[$file]
有谁知道为什么会这样?
编辑:正如我所说。不需要做 var_dump 因为我可以回显 $file。另外我是从 iOS 控制台调试的,看不到非 JSON 结果,我只依靠 PHP 日志来了解实际的错误消息。
EDIT2:根据要求 `var_dump(); (我正在使用 XCode、iOS 开发控制台,而不是 Web 浏览器)
ob_start();
var_dump($file);
$e = ob_get_contents();
ob_end_clean();
error_log($e, 0);
结果
[06-Jun-2013 17:58:26 UTC] string(9) "btn-7.png"`
错误
[06-Jun-2013 17:24:45 UTC] PHP Notice: Undefined offset: 0 in C:\xampp\htdocs\igym\classes\shareexercise.php on line 146
PHP
private function storeFile( $file )
{
$file = explode('.',$file);
$file = $file[0];
$msg['asd'] = $file;
echo json_encode($msg);
if( $_FILES[$file]["type"] !== "image/png" && $_FILES[$file]["size"] < 2048600 )
{
$error['error'] = 'There was a problem uploading your picture';
echo json_encode($error);
return 0;
}
if( move_uploaded_file( $_FILES[$file]['tmp_name'], IMGUPLOADDIR . '/' . $this->userID . '/' . $_FILES[$file]['name'] ) ) {
return true;
} else{
//$error['error'] = 'There was a problem uploading your picture';
//echo json_encode($error);
return false;
}
}