600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php多图片上传程序 php多文件上传 多图片上传程序代码

php多图片上传程序 php多文件上传 多图片上传程序代码

时间:2023-10-23 21:19:26

相关推荐

php多图片上传程序 php多文件上传 多图片上传程序代码

多文件上传其实就包括了图片及各种文件了,下面介绍的是一款PHP多文件上传类,一共两个文件,upp.php 和 uploadFile.php,upp.php,这是前台所显示的表单文件了,默认的是四个上传文件域,我们可以手动进行修改,另外这个页面嵌套了 uploadFile.php 文件上传类,下面一起来看例子。<?php

header('content-type:text/html;charset=utf-8');

require('uploadFile.php');

if(isset($_POST['submit'])){

$uploads=$_FILES['file'];

$num_file=count($uploads['name']);

$up=newUploadFile($uploads,'uploads',1024);

$num=$up->upload();

if($num==$num_file){

echo'全部文件上传成功';

exit;

}else{

echo$num,'个文件上传成功

';

echo$up->showErrorInfo();

exit;

}

}

?>html>

无标题文档

文件上传类代码<?php

/*------------*/

classUploadFile{

var$user_post_file=array();

var$save_file_path='';

var$max_file_size='';

var$allow_type=array(

'gif',

'jpg',

'png',

'zip',

'rar',

'txt',

'doc',

'pdf'

);

var$final_file_path='';

var$save_info=array();

var$error_info=array();

/**

*构造函数,用于初始化信息。

*

*@paramArray$file

*@paramString$path

*@paramInteger$size

*@paramArray$type

*/

function__construct($file,$path,$size=2097152,$type=''){

$this->user_post_file=$file;

$this->save_file_path=$path;

$this->max_file_size=$size;

if(!$type=''){

$this->allow_type[]=$type;

}

}

/**

*

*

*@accesspublic

*@returnint

*/

functionupload(){

for($i=0;$iuser_post_file['name']);$i++){

if($this->user_post_file['error'][$i]==0){//上传文件状态正常

//获取当前文件名,临时文件名,大小,类型,扩展名

$name=$this->user_post_file['name'][$i];

$tmp_name=$this->user_post_file['tmp_name'][$i];

$size=$this->user_post_file['size'][$i];

$type=$this->user_post_file['type'][$i];

$ext_name=$this->getExtName($name);

//文件大小

if(!$this->checkSize($size)){

$this->error_info[]='您上传的文件:'.$name.'太大';

continue;

}

//扩展名

if(!$this->checkType($ext_name)){

$this->error_info[]='您上传的文件:'.$name.'不合法';

continue;

}

//非法上传

if(!is_uploaded_file($tmp_name)){

$this->error_info[]='您上传的文件:'.$name.'属于非法提交';

continue;

}

//

$basename=$this->getBaseName($name,".".$ext_name);

$final_filename=$basename.'-'.time().'-'.rand(1,10000).'.'.$ext_name;

$this->final_file_path=$this->save_file_path.'/'.$final_filename;

if(!move_uploaded_file($tmp_name,$this->final_file_path)){

$this->error_info=$this->user_post_file['error'][$i];

continue;

}

//

$this->save_info[]=array(

"name"=>$name,

"ext_name"=>$ext_name,

"type"=>$type,

"size"=>$size,

"final_filename"=>$final_filename,

"path"=>$this->final_file_path

);

}

}

returncount($this->save_info);

}

/*

*检查用户上传文件的大小时候合法

*

*@paramInteger$size

*@accessprivate

*@returnboolean

*/

functioncheckSize($size){

if($size>$this->max_file_size){

returnFALSE;

}

returnTRUE;

}

/*

*检查用户上传文件的类型是否合法

*

*@accessprivate

*@returnboolean

*/

functioncheckType($extension){

foreach($this->allow_typeas$type){

if(strcasecmp($extension,$type)==0){

returnTRUE;

}

}

returnFALSE;

}

/*

*获取文件的扩展名

*

*@paramstring$filename

*@accessprivate

*@returnstring

*/

functiongetExtName($filename){

$p=pathinfo($filename);

return$p['extension'];

}

/*

*获取文件名(不包括扩展名)

*

*@paramstring$filename

*@paramstring$type

*@accessprivate

*@returnboolean

*/

functiongetBaseName($filename,$ext_name){

$basename=basename($filename,$ext_name);

return$basename;

}

/*

*

*

*

*/

functionshowErrorInfo(){

if(count($this->error_info)!=0){

//echo'error...

';

foreach($this->error_infoas$k=>$v){

echo($k+1),':',$v,'

';

}

}

}

functiongetSaveInfo(){

return$this->save_info;

}

}

//$upload=newUploadFile('','');

//$upload=newUploadFile();

//$upload->showErrorInfo();

?>

转载随意,但请附上文章地址:-)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。