适用于初学者的简易PHP文件上传类_php技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了适用于初学者的简易PHP文件上传类_php技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2133字,纯文字阅读大概需要4分钟。
内容图文
![适用于初学者的简易PHP文件上传类_php技巧](/upload/InfoBanner/zyjiaocheng/266/d6758d27793f4c68981cb115cb63ef5c.jpg)
<?php class Test_Upload{ protected $_uploaded = array(); protected $_destination; protected $_max = 1024000; protected $_messages = array(); protected $_permited = array( 'image/gif', 'image/jpeg', 'image/pjpeg', 'image/png' ); protected $_renamed = false; /** * * @param mix $path * */ public function __construct($path){ if (!is_dir($path) || !is_writable($path)){ throw new Exception("文件名不可写,或者不是目录!"); } $this->_destination = $path; $this->_uploaded = $_FILES; } /** * 移动文件 * */ public function move(){ $filed = current($this->_uploaded); $isOk = $this->checkError($filed['name'], $filed['error']); //debug ok if ($isOk){ $sizeOk = $this->checkSize($filed['name'], $filed['size']); $typeOk = $this->checkType($filed['name'], $filed['type']); if ($sizeOk && $typeOk){ $success = move_uploaded_file($filed['tmp_name'], $this->_destination.$filed['name']); if ($success){ $this->_messages[] = $filed['name']."文件上传成功"; }else { $this->_messages[] = $filed['name']."文件上传失败"; } } } } /** * 查询messages数组内容 * */ public function getMessages(){ return $this->_messages; } /** * 检测上传的文件大小 * @param mix $string * @param int $size */ public function checkSize($filename, $size){ if ($size == 0){ return false; }else if ($size > $this->_max){ $this->_messages[] = "文件超出上传限制大小".$this->getMaxsize(); return false; }else { return true; } } /** * 检测上传文件的类型 * @param mix $filename * @param mix $type */ protected function checkType($filename, $type){ if (!in_array($type, $this->_permited)){ $this->_messages[] = "该文件类型是不被允许的上传类型"; return false; }else { return true; } } /** * 获取文件大小 * */ public function getMaxsize(){ return number_format($this->_max / 1024, 1).'KB'; } /** * 检测上传错误 * @param mix $filename * @param int $error * */ public function checkError($filename, $error){ switch ($error){ case 0 : return true; case 1 : case 2 : $this->_messages[] = "文件过大!"; return true; case 3 : $this->_messages[] = "错误上传文件!";return false; case 4 : $this->_messages[] = "没有选择文件!"; return false; default : $this->_messages[] = "系统错误!"; return false; } } } ?>
希望本文所述对大家的php程序设计有所帮助。
内容总结
以上是互联网集市为您收集整理的适用于初学者的简易PHP文件上传类_php技巧全部内容,希望文章能够帮你解决适用于初学者的简易PHP文件上传类_php技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。