步骤:
1 图片文件传到服务器某个路径下,/201404/04/isj.jpg
2 路径信息写入到 goods表中
设置自动加载类:
function __autoload($class) { if(strtolower(substr($class,-5)) == 'model') { require(ROOT . 'Model/' . $class . '.class.php'); } else if(strtolower(substr($class,-4)) == 'tool') { require(ROOT . 'tool/' . $class . '.class.php'); } else { require(ROOT . 'include/' . $class . '.class.php'); } } |
修改文件上传类:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 14-4-4 * Time: 下午4:31 */ /* * 单文件上传类*/ defined('ACC') || exit('ACC Denied'); /* * 文件上传: * 配置允许的后缀 * 配置允许大小 * 随机生成目录 * 随机生成文件名 * 获取文件后缀 * 判断文件后缀 * 良好的报错支持*/ class UpTool{ protected $allow_ext = 'jpg,jpeg,gif,bmp,png'; // 允许上传文件的类型 protected $maxSize = 1;// 文件最大上传的大小 protected $file = null;//存储上传文件的信息 protected $errno = 0; protected $error = array( 0=>'无错', 1=>'上传文件大小超出系统限制', 2=>'上传文件大小超出网页表单限制', 3=>'文件只有部分被上传', 4=>'没有文件被上传', 6=>'找不到临时文件夹', 7=>'文件写入失败', 8=>'不允许的文件类型', 9=>'文件大小超出允许范围', 10=>'创建目录失败', 11=>'文件移动失败' ); /*获取文件信息*/ protected function getFile($key){ //获取文件属性 $this->file = $_FILES[$key]; } /*文件上传*/ public function up($key){ //检测是否存在文件域 if(!isset($_FILES[$key])){ return false; } // $f = $_FILES[$key]; //检验上传是否成功 if($f['error']){ $this->errno = $f['error']; return false; } //获取后缀 $ext = $this->getExt($f['name']); //检测后缀 if(!$this->isAllowExt($ext)){ $this->errno = 8; return false; } //检测大小 if(!$this->isAllowSize($f['size'])){ $this->errno = 9; return false; } //创建目录 $dir = $this->mk_dir(); if($dir == false){ $this->errno = 10; return false; } //生成随机文件名 $newName = $this->randName().'.'.$ext; $dir = $dir.'/'.$newName; //移动文件 if(move_uploaded_file($f['tmp_name'],$dir)){ return str_replace(ROOT,'',$dir); }else{ $this->errno = 11; return false; } } /*获取错误信息*/ public function getErr(){ return $this->error[$this->errno]; } /*动态添加后缀 param string $ext;*/ public function setExt($ext){ $this->allow_ext=$ext; } /*动态设置大小 */ public function setSize($size){ $this->maxSize = $size; } /*获取文件的后缀名 param string $file return string $ext 后缀名*/ protected function getExt($file){ $tmp = explode('.',$file); $ext =end($tmp) ; return $ext; } /*判断是否允许传递的后缀名,要防止大小写问题 param string $ext 文件后缀 return bool 是否允许上传*/ protected function isAllowExt($ext){ return in_array(strtolower($ext),explode(',',strtolower($this->allow_ext))); } /*判断文件大小是否在允许范围内 */ protected function isAllowSize($size){ return $size<= $this->maxSize*1024*1024; } //按日期创建目录 protected function mk_dir(){ $dir =ROOT.'data/images/'. date('ym/d',time()); if( is_dir($dir) || mkdir($dir,0777,true) ){ return $dir; }else{ return false; } } //生成随机文件名 protected function randName($length = 6){ $str = 'abcdefghijkmnpqrstuvwxyz23456789'; return substr(str_shuffle($str),0,$length); } } |
添加到商品添加处理页goodaddAct.php
//上传图片 $uptool = new UpTool(); //$uptool->setExt('doc'); $ori_img = $uptool->up('ori_img'); if($ori_img){ $data['ori_img'] = $ori_img; }else{ echo "图片上传失败<br/>"; echo $uptool->getErr(); exit; } |