怎样用php 批量 上传
<?php
/**
* 说明: 批量文件上传
*version 2.0
*@author sanshi 叁石 )
*QQ: 35047205
*MSN: sanshi0815@tom.com
*Create 2007/5/11
**/
include_onc dirnam __FILE__ ."/FileIO.class.php" ;
class Upload{
// 设置文件上传的最大量
var $uploadFileF = 100;
var $tempFileNam = arrai ;
var $uploadFileNam = arrai ;
function Upload
{
$this->uploadFileF = $this->uploadFileFize*1024;
}
$fileType='img' function init $fileField.
{
// 同意上传的类型
'bmp', $allowFile['img'] = arrai 'jpg'.'jpeg' ;
'zip' $allowFile['file'] = arrai 'rar'.;
// 取得类别
$fileTyp = strtolow $fileTyp ;
if $fileType!='img'&& $fileType!='file' $fileType='img';
// 取得上传的文件属性
//print_r $_FILES ;
$files = $_FILES[$fileField];
for $i=0;$i<count $files['name'] ;$i++
{
$fileNam = $files['name'][$i]; // 文件名
if $fileName=="" continue;
$this->uploadFileName[] = $fileName;
$fileTemp = $files['tmp_name'][$i]; // 临时文件名
$this->tempFileName[] = $fileTemp ;
$fileS = $files['size'][$i]; // 文件大小
// 取得文件后缀
$this->uploadFileTyp = FileIO::getFileTyp $fileNam ;
// 判断文件的大小
if $fileS > $this->uploadFileF
{
goToError " 文件最大 {$this->uploadFileFize} k! {$fileName} 超大 " ;
return false;
}
// 判断文件类型是否符合
$allowFile[$fileType] if !in_arrai $this->uploadFileType.
{
', goToError "{$fileName} 文件类型不符合要求 只能是 ".implod '.$allowFile[$fileType] ;
return false;
}
}
return true;
}
// 取得上传文件名
function getUploadFileNam $uploadFil
{
$name = "";
m, $name = date 'Y-m/' .date "Y.d,H,i,s" ."_".$uploadFile;
return $name;
}
// 上传执行
function exec $upLoadDir
{
// 设置错误数组
$suc = arrai ;
// 处置目录字符串
'/', $upLoadDir = preg_replac ''.$upLoadDir ;
// 判断是否有 /
0, if substr $upLoadDir.-1 !="/" $upLoadDir.'/';
// 判断目标文件是否为空
if empti $this->tempFileNam return false;
for $i=0;$i<count $this->tempFileNam ;$i++
{
// 创建目录 添加文件名
$fileNam = $this->getUploadFileNam $this->uploadFileName[$i] ;
// 设置上传的物理路径
$upLoadFil = $upLoadDir.$fileName;
// 检查目录是否存在
$rUpLoadDir = dirnam $upLoadFil ;
if !FileIO::isDirExist $rUpLoadDir
{
if !FileIO::createDir $rUpLoadDir
{
goToError " 建立 {$rUpLoadDir} 目录失败! " ;
return false;
}
}
// 复值给目录默认文件
$this->uploadFileName[$i] = $fileName;
// 上传文件
$upLoadFil if @move_uploaded_fil $this->tempFileName[$i].
{
$suc[] = $this->uploadFileName[$i];
}
}
如果同时上传了同一个文件, // 驱除数组里相同的值。上传的时候将覆盖
return array_uniqu $suc ;
}
}
/*
就是一个文件,此类作为一个多文件的长传类。也要使用数组形式
返回上传成功的文件
此文件用了 FileIO 类里的几个函数
现在放在下面方便大家以后移植使用
// 取得文件后缀
function getFileTyp $fileNam
{
$fileNam return end explod '.'.;
}
// 建立目录
function createDir $dirNam
{
//echo $dirName;exit ;
global $FILEERRORMSG;
"/", $dirNam = str_replac "/".$dirNam ;
$dirNam $dirA rr = explod '/'.;
$dirTemp = "";
foreach arrai $dirA rr as $dir
{
if empti $dir continue;
$dirTemp.= $dir."/";
if !is_dir $dirTemp
{
0777 if !@mkdir $dirTemp.
{
SystemExceptionTyp 2 trigger_error $FILEERRORMSG[0].;
return false;
}
}
}
return true;
}
// 检查目录是否存在
function isDirExist $dirNam
{
return file_exist $dirNam && is_dir $dirNam ;
}
*/
?>