批改状态:合格
老师批语:
Content-type 常见的值
$res = upload($_FILES);
将同一文件的属性集中到同一数组格式如:
[name] => 3.jpg[type] => image/jpeg[tmp_name] => C:\phpEnv\temp\php\phpE22F.tmp[error] => 0[size] => 1924501
upload方法:
function upload(): array{$i = 0;foreach ($_FILES as $k => $file) {foreach ($file['name'] as $k => $v) {$files[$i]['name'] = $file['name'][$k];$files[$i]['type'] = $file['type'][$k];$files[$i]['tmp_name'] = $file['tmp_name'][$k];$files[$i]['error'] = $file['error'][$k];$files[$i]['size'] = $file['size'][$k];$i++;}}return $files;}调取uploadFile方法上传文本:uploadFile($res), true));
uploadFile方法:
function uploadFile(array $files, $uploadPath='uploads/storage'):array{if(!file_exists($uploadPath)){mkdir($uploadPath,0777,true);}foreach($files as $file){if($file['error']==0){ if(strstr($file['type'],'/',true)!=='image'){$tips = $file['name'].'文件类型错误';continue;}else{$targetName = $uploadPath.'/'.date('YmdHis').md5($file['name'].time()).strstr($file['name'],'.');if(!move_uploaded_file($file['tmp_name'],$targetName)){$tips = $file['name'].'文件移动失败';continue;}else{$img[]=$targetName;}}}}if(!empty($tips)){$res['error'] = $tips;}$res['fileRealPath']=$img;return $res;}
文件上传挺常用的,这两天比较忙补听的录播,跟着敲一遍基本理解了。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号