怎样用php 批量 上传

怎样用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 ;

    }

*/

?>

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

u5u5uu6u7u

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值