php文件上传简单实例,php多个文件上传图片上传实例

class Uploadimg{
 private $_fileName=””;         //文件域名称 如 ‘userfile’
 private $_uploadDir = ”;       //上传路径 如 ./upload/
 
 /*上传参数配置*/
 private $_config = array(
  ‘type’=>array(‘image/jpeg’,’image/jpg’,
    ‘image/pjpeg’,’image/gif’),         //上传的品类
  ‘size’=>1,                     //文件最大体积单位是M
  ‘width’=>1000,                   //图片的最大幅面
  ‘height’=>800                   //图片的最大中度
 );
 
 /**
  * 构造函数
  *
  * @param string $fileName
  * @param string $uploadDir
  * @param array $config
  */
 function __construct($fileName,$uploadDir,$config=”)
 {
  $this->_fileName = $fileName;
  $this->_uploadDir = $uploadDir;
  if($config == “” or empty($config) or !is_array($config)){
   $this->_config = $this->_config;
  }else{
   $this->_config = $config;
  }
 }
 
 /**
  * 检验体量是还是不是超过
  *
  * @return boolean
  */
 function checkSize()
 {
  if($_FILES[$this->_fileName][‘size’] >
$this->_config[‘size’]*1024*1024){
   return false;
  }else{
   return true;
  } 
 }
php文件上传简单实例,php多个文件上传图片上传实例。 
 /**
  * 获取图片消息
  *
  * @return boolean
  */
 function getInfo()
 {
  return
@getimagesize($_FILES[$this->_fileName][‘tmp_name’]);
 }
 
 /**
  * 检验后缀名
  *
  * @return boolean
  */
 function checkExt()
 {
  $imageInfo = $this->getInfo();
  if(in_array($imageInfo[‘mime’],$this->_config[‘type’])){
   return true;
  }else{
   return false;
  }
 }
 
 /**
  * 获取后缀名
  *
  * @return boolean
  */
 function getExt()
 {
  $imageInfo = $this->getInfo();
  switch($imageInfo[‘mime’]){
   case ‘image/jpeg’:$filenameExt = ‘.jpg’;break;
   case ‘image/jpg’:$filenameExt = ‘.jpg’;break;
   case ‘image/pjpeg’:$filenameExt = ‘.jpg’;break;
   case ‘image/gif’:$filenameExt = ‘.gif’;break;
   default:break;
  }
  return $filenameExt;  
 }
 
 /**
  * 检查测量检验尺寸
  *
  * @return boolean
  */
 function checkWh()
 {
  $imageInfo = $this->getInfo();
  if(($imageInfo[0] > $this->_config[‘width’]) or
($imageInfo[1] > $this->_config[‘height’])){
   return false;
  }else{
   return true;
  }
 }
 
 /**
  * 上传一张图片
  *
  * @return string or int
  */
 function uploadSingleImage()
 {
  if($this->checkSize() == false){
   return (-3); /*上传容积过大*/
   exit();
  }  
  if($this->checkExt() == true){
   $filenameExt = $this->getExt();
  }else{
   return (-2);  /*上传格式错误*/
   exit();
  }
  if($this->checkWh() == false){
   return (-1);  /*上传图片太宽或太高*/
   exit();
  }
  $file_new_name = date(‘YmdHis’).$filenameExt;
  $file_new_name_upload =
rtrim($_SERVER[‘DOCUMENT_ROOT’],’/’).$this->_uploadDir.$file_new_name;
  if(@move_uploaded_file($_FILES[$this->_fileName][‘tmp_name’],$file_new_name_upload)){
   return $file_new_name;
  }else{
   return (0); /*上传战败*/
  } 
 }
 
 /**
  * 删除图片
  *
  * @param string $imageName
  * @return boolen
  */
 function delImage($imageName)
 {
  $path =
rtrim($_SERVER[‘DOCUMENT_ROOT’],’/’).$this->_uploadDir.$imageName;
  if(unlink($path) == true){
   return true;
  }else{
   return false;
  }
 }
}

多个文件上传和独门文件上传的管理形式是平等的,只须求在客商端多提供多少个门类为“file”的输入表单,并内定分歧的“name”属性值。举个例子,在上面包车型客车代码中,能够让顾客相同的时间接选举拔八个地面文件一齐上传给服务器,客商端的表单如下所示:

html代码

 代码如下

 代码如下

 代码如下

<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en”
“;
<html xmlns=”;
<head>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8″
/>
<title>php文件上传</title>
</head>

<html>
<head><title>七个文件上传表单</title></head>
<body>
<form action=”mul_upload.php” method=”post”
enctype=”multipart/form-data”>
<input type=”hidden” name=”MAX_FILE_SIZE” value=”1000000″>
分选文件1:<input type=”file” name=’myfile[]’><br>
选料文件2:<input type=”file” name=’myfile[]’><br>
采纳文件3:<input type=”file” name=’myfile[]’><br>
<input type=”submit” value=”上传文件”>
</form>
</body>
</html>

<input   type= “file ”   id= “userfile ”   name= “userfile “>
<input   type= “submit ”   name= “upload ”   value= “上传 “>

<body>
<form action=”uploadsir.php” method=”post” 
enctype=”multipart/form-data”><input name=”filedata” type=”file”
id=”filedata” />
<input type=”submit” name=”submit” value=”上传” /></form>
<?php
if(!$_post)die();
$state=uploadfile(‘filedata’);
if($state[‘err’]){
die(‘<script>alert(“上传出错:’.$state[‘msg’].'”);history.go(-1);</script>’);
}

在地点的代码中,将多个文件类型的表单以数组的花样组织在一同。当上边的表单教给PHP的本子文件mul_upload.php时,在劳务器端同样接纳全局数组$_FILES存款和储蓄全数上述文件的音信,但$_FILES由二维数组已经更换为空间维度数组,那样就足以储存五个上传文件的音信。在剧本文件mul_upload.php中,使用print_r()函数将$_FILES数组中的内容输出,代码如下所示:

管理上传php代码

echo'<object
type=”application/x-shockwave-flash”
data=”template/images/copy.swf?u=’.weburl.$state[‘msg’].'” width=”100″
height=”40″>
<param name=”movie” value=”copy.swf?u=’.weburl.$state[‘msg’].'”
/>’;

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图