php批量上传代码,经典php批量上传源码

html

无标题文档

uploade.php文件

if($upfile ->uploadeFile('spic')){

$arrfile = $upfile ->getnewFile();

foreach($arrfile as $v){

echo $v,"

";

}

echo "上传成功!";

}else{

$err = $upfile ->gteerror();

if(is_array($err)){

foreach($err as $v1){

echo $v1,"

";

}

}else{

echo $err;

}

//var_dump($err);

}

//var_dump($upfile);

?>

upFiles.class.php上传类

class UploadFiles{

private $maxsize = '1000000'; //允许上传文件最大长度

private $allowtype = array('jpg','png','gif','jpeg');//允许上传文件类型

private $israndfile = true;//是否随机文件名

private $filepath;//上传路径

private $originName;//上传的源文件

private $tmpfileName;//临时文件名

private $newfileName;//新文件名

private $fileSize;//文件大小

private $fileType;//文件类型

private $errorNum = 0;//错误号

private $errorMessg = array();//错误消息

//对成员初始化

function __construct($options = array()){

foreach($options as $key=>$val){

$key = strtolower($key);

//查看传进来的数组里下标是否与成员属性相同

//print_r(array_keys(get_class_vars(get_class($this))));

if(!in_array($key,array_keys(get_class_vars(get_class($this))))){

continue;

}else{

$this->setOption($key,$val);

}

}

}

private function setOption($key,$val){

$this->$key = $val;

//echo $this->errorNum."

";

}

//检查文件上传路径

private function checkfilePath(){

//echo $this->filepath;

if(empty($this->filepath)){

$this->setOption('errorNum',"-5");

return false;

}

if(!file_exists($this->filepath) || !is_writable($this->filepath)){

if(!@mkdir($this->filepath,0755)){

$this->setOption('errorNum','-4');

return false;

}

}

return true;

}

//获取错误信息

private function getError(){

$str = "上传文件{$this->originName}出错---";

switch($this->errorNum){

case 4; $str .= "没有文件被上传";break;

case 3; $str .= "文件只被部分上传";break;

case 2; $str .= "超过文件表单允许大小";break;

case 1; $str .= "超过php.ini中允许大小";break;

case -1; $str .= "未允许的类型";break;

case -2; $str .= "文件过大,不能超过".$this->maxsize."个字节";break;

case -3; $str .= "上传失败";break;

case -4; $str .= "建立文件上传目录失败";break;

case -5; $str .= "必须指定上传路径";break;

default; $str .= "未知错误";

}

return $str."

";

}

//检查文件类型

private function checkfileType(){

//echo $this->fileType;

if(!in_array(strtolower($this->fileType),$this->allowtype)){

$this->setOption('errorNum','-1');

return false;

}else{

return true;

}

}

//检查文件大小

private function checkfileSize(){

if($this->fileSize > $this->maxsize){

$this->setOption('errorNum','-2');

return false;

}else{

return true;

}

}

//处理随机文件名称

private function prorandFile(){

$ch = $this->israndfile;

if($ch == 'true'){

return true;

}else{

return false;

}

}

//

private function setFiles($name="",$tmp_name="",$size="",$error=""){

//检查上传路径

if(!$this->checkfilePath()){

//$this->errorMessg = $this->getError();

return false;

}

//echo $error."

";

if($error){

$this->setOption('errorNum',$error);

return false;

}

$arrstr = explode('.',$name);

$type = end($arrstr);

$this->setOption('originName',$name);

$this->setOption('fileSize',$size);

$this->setOption('fileType',$type);

$this->setOption('tmpfileName',$tmp_name);

return true;

}

//检查是否有文件上传

function checkFile($formname){

if(!@$_FILES[$formname]){

$this->setOption('errorNum',4);

return false;

}else{

return true;

}

}

//上传文件

function uploadeFile($formname){

if(!$this->checkFile($formname)){

$this->errorMessg = $this->getError();

return false;

}

$return = true;

$name = @$_FILES[$formname]['name'];

$tmp_name = @$_FILES[$formname]['tmp_name'];

$size = @$_FILES[$formname]['size'];

$error = @$_FILES[$formname]['error'];

//$type = $_FILES[$formname]['type'];

if(is_array($name)){

$errors = array();

for($i=0; $i if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i])){

if(!$this->checkfileSize() || !$this->checkfileType()){

$errors[] = $this->getError();

$return = false;

}

}else{

$errors[] = $this->getError();

$return = false;

}

if(!$return) $this->setFiles();

}

if($return){

$newfileN = array();

for($i=0; $i if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i])){

if(!$this->copyFile()){

$errors[] = $this->getError();

$return = false;

}else{

$newfileN[] = $this->newfileName;

}

}

$this->newfileName = $newfileN;

}

}

//print_r($errors);

$this->errorMessg = $errors;

//echo $errors;

return $return;

}else{

if($this->setFiles($name,$tmp_name,$size,$error)){

$return = true;

if($error) var_dump($error);

if($this->checkfileSize() && $this->checkfileType()){

}else{

$return = false;

}

}else{

$return = false;

}

if(!$return){

$this->errorMessg = $this->getError();

}

return $return;

}

}

//获取上传后的文件名

function getnewFile(){

return $this->newfileName;

}

//把文件拷贝到指定的路径

function copyFile(){

$filepath = rtrim($this->filepath,'/')."/";

if(!$this->errorNum){

if($this->prorandFile()){

$this->newfileName = date('Ymdhis').rand(1000,9999).".".$this->fileType;

}else{

$this->newfileName = $this->originName;

}

if(!move_uploaded_file($this->tmpfileName,$filepath.$this->newfileName)){

$this->setOption('errorNum',-3);

return false;

}else{

return true;

}

}else{

return false;

}

}

//上传错误后返回的消息

function gteerror(){

$err = $this->errorMessg;

return $err;

}

}

?>

在线演示:http://www.ncmem.com/products/image-uploader/demo/index.html 开发文档-ASP.NET(C#):http://www.cnblogs.com/xproer/archive/2011/01/09/1931278.html 开发文档-PHP:http://www.cnblogs.com/xproer/archive/2011/05/13/2045854.html 开发文档-JSP:http://www.cnblogs.com/xproer/archive/2011/05/20/2051887.html 产品介绍:http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html 升级日志:http://www.cnblogs.com/xproer/archive/2010/10/06/1844816.html 资源下载:crx安装包,xpi安装包,exe安装包,开发文档,ASP示例,ASP.NET示例,JSP示例,PHP示例, VC运行库:http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf 新颖网络图片上传插件是一款简化图片上传操作的插件。它提供了一些灵活的配置,能够帮助用户快速搭建起一个强大的图片分享平台。通过这些配置,用户还可以非常方便的同时上传多张图片,或将图片以指定的格式上传,免去手动转换图片格式的烦恼。 在最新版的图片上传控件中采用了全新的网络数据传输模块,新的模块全面优化了网络层的数据处理代码,同时在接收服务器返回的数据代码中采用精确识别的方式使数据处理效率更高。这些改进使图片上传控件具有了闪电般的上传速度。现在新颖网络图片上传控件在上传图片时平均每张图片帮助用户节省了50%的时间。 相信新颖网络图片上传控件能够为您的应用带来更好的用户体验。 产品特点如下: 1. 基于标准HTTP协议。 2. 支持BMP,JPG,GIF,PNG图片格式。 3. 支持自动生成缩略图。 4. 支持文件批量上传。 5. 支持文件拖拽操作。 6. 支持自定义上传信息。 7. 快速编辑。旋转操作。 8. 显示上传进度。 9. 支持文件格式批量转换。 10. 支持打开默认文件夹功能。 11. 免费提供JavaScript SDK包,方便您将插件快速集成到已有网站中。 支持语言:PHP,JSP,ASP,ASP.NET(C#),ASP.NET(VB),C++,VC,VC.NET,VB,VB.NET,C#,C#.NET,Delphi,C++Builder 支持平台:Visual Studio 6.0/2002/2003/2005/2008/2010,C++ Builder 6.0/2009/2010,Delphi 7/2009,Visual Basic 6.0/2008 支持脚本:JavaScript,VBScript 支持系统:Windows NT,Windows 2003,Windows XP,Windows Vista,Windows 7,Linux 支持浏览器:IE6,IE7,IE8,IE8(x64),IE9(x64),Firefox,Chrome,360安全浏览器,360极速浏览器,Maxthon1.x,Maxthon2.x,Maxthon3.x,QQ浏览器 支持图片格式:BMP,GIF,JPG,PNG,TIF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值