class UploadFiles { private $files = []; private $extensions = []; private $size = 0; public function addFile($name, $ext, $size) { $this->files[] = $name; $this->extensions[$name] = $ext; $this->size += $size; } public function saveFiles($path) { foreach ($this->files as $file) { if ($this->validateFile($file)) { $this->moveFile($file, $path); } else { $this->deleteFile($file); } } } private function validateFile($file) { $valid = true; $ext = $this->extensions[$file]; if (!in_array($ext, ['jpg', 'png', 'gif'])) { $valid = false; } if ($this->size > 1000000) { // 100MB $valid = false; } return $valid; } private function moveFile($file, $path) { move_uploaded_file($file, "$path/$file"); } private function deleteFile($file) { unlink($file); } }
使用方法示例:
$upload = new UploadFiles(); $files = $_FILES['files']; foreach ($files['name'] as $i => $name) { $upload->addFile( $files['tmp_name'][$i], pathinfo($files['name'][$i], PATHINFO_EXTENSION), $files['size'][$i] ); } $upload->saveFiles('upload/files');
此类实现了:
1. 存储上传文件的信息(名称、扩展名、大小)
2. 验证上传文件是否满足要求(扩展名和大小限制)
3. 移动合法的上传文件到指定目录
4. 删除不合法的上传文件
使用方法是先获取上传的文件信息,调用addFile()方法添加文件,然后调用saveFiles()方法处理上传保存操作。
可以根据自己的需要修改验证条件和保存目录。使用此类可以方便地实现PHP多文件上传功能。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录