批改状态:合格
老师批语:
<?phpfunction uploadFile($fileInfo,$uploadPath='./uploads',$flag=true,$allowExt=['jpg','jpeg','png','wbmp','gif'],$maxSize=(5*1024*1024)){if($fileInfo['error'] == 0){$arr = explode('.',$fileInfo['name']);$ext = end($arr);$prefix = array_shift($arr);//检测文件类型if(!in_array($ext,$allowExt)){$res['error'] = '非法的文件类型';}//检测文件大小if($fileInfo['size'] > $maxSize){$res['error'] ='文件大小超过限制';}//检测文件名是否合法if($flag){if(!getimagesize($fileInfo['tmp_name'])){$res['error'] ='文件不是真实图片';}}//检测文件是否通过http post上传if(!is_uploaded_file($fileInfo['tmp_name'])){$res['error'] ='上传方式错误:请使用http post 方式上传';}if(!empty($res)) return;if(!file_exists($uploadPath)){mkdir($uploadPath,0770,true);chmod($uploadPath,0770);}// 根据$prefix time() 生成唯一图片地址$des = $uploadPath.'/'.md5($prefix.time()).'.'.$ext;$result = move_uploaded_file($fileInfo['tmp_name'],$des);if(!$result){$res['error'] = '文件移动失败';}else{$res['info'] = $fileInfo['name'] . '上传成功';$res['fileRealPath'] = $des;}return $res;}else{switch ($fileInfo['error']){case 1:$res['error'] = '文件超过php.ini中upload_max_fileize的值';break;case 2:$res['error'] = '文件大小超过表单中MAX_FILE_SIZE的指定值';break;case 3:$res['error'] = '文件只有部分被上传';break;case 4:$res['error'] = '文件没有被上传';break;case 6:$res['error'] = '找不到临时文件夹';break;default:$res['error'] = '系统错误';break;}}}function upload($fileInfo){foreach($fileInfo as $k=>$v){foreach($v as $kk=>$vv){if($kk == $kk ){$files[$kk][$k] = $vv;}}}return $files;}
<?phprequire 'common.php';$files = upload($_FILES['my_file']);foreach ($files as $k){$res[]['msg'] = uploadFile($k)['fileRealPath'];}print_r($res);
1,Linux 服务器下的设置
(1)编辑 php.ini,将 log_errors 设置为 on:
log_errors = On
(2)保存后重启 apache 即可。
2,Windows 服务器下的设置
(1)同样是编辑 php.ini。只不过除了将 log_errors 设置为 on 外,还需要定义 error_log 的路径及文件名。这样错误日志就会保存到指定的文件中。
log_errors = Onerror_log = d:/php_log/errors.log
特别要注意的是,日志保存目录需要授予 php 标识用户的修改权限,否则日志文件无法生成。
经过上面的配置后,除了运行时产生的所有错误会自动记录到日志文件中外,我们也可以在代码中使用 error_log() 方法主动将一些信息写到日志文件中,方便定位问题。
<?error_log("Mysql数据库不可用!", 0); //将错误消息写入到操作系统日志中?>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号