php 批量上传视频教程,经典php批量上传源码

这是从一个源码包下载下来的,包括上传页面到类,方法简单,只要把下面文件保存成相同的文件名就可以简单实现文件批量上传的功能了。

 代码如下复制代码

html

无标题文档

}

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;

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值