PHP 複数ファイルのアップロード クラシック コード_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:58:23
オリジナル
934 人が閲覧しました


require_once("include/upload.class.php");
if($_POST["ボタン"])
{
        //print_r($_FILES);
        //多个上传
        //$upload = new TTRUpload($_FILES,"ANY");//同下

$upload = new TTRUpload(array($_FILES["file1"],$_FILES["file2"],$_FILES["file3"],$_FILES["file4"]),"ANY");

//单个上传
        //$upload = new TTRUpload($_FILES["file1"]);
        $upload->upload();
        echo $upload->getUploadFileName();
}
?>


<頭>

無題のドキュメント



 
 

 
 

 
 

 
 

 


クラス TTRUupload はエラーを拡張します
{
const filesize=81200000;
プライベート $uploadpath="uploadfile/";
プライベート $savepath=null;
private $uploadfilename=null; //単一ファイルがファイル名であり、バッチファイルは xxxx|xxxx 形式であることに注意してください
private $ext=array("jpg","gif","png");
プライベート $error=null;
プライベート $file=null; プライベート $uploadtype=null;
プライベート $filename=null;

//コンストラクター、$type:ONE 単一アップロード ANY バッチアップロード;
パブリック関数 __construct($file,$type="ONE")
{
If($type!="ONE" && $type!="ANY")
{
echo "";
終了します;
}
$this->uploadtype=$type;
$this->file=$file;
}

プライベート関数 createFileName()
{
return $this->filename="TTR_".time().$this->getRandomN(4);
}
                                                          プライベート関数 getUploadPath()
{
If(substr($this->アップロードパス,-1,1)!="/")
{
$this->savepath=$this->uploadpath."/".date("Ym");
}その他{
$this->savepath=$this->uploadpath.date("Ym");
}
$this->savepath=$this->getFolder($this->savepath);
true を返す;
}

プライベート関数 getFileExt($tempfilename)
{
return end(explode(".",$tempfilename));
}

プライベート関数 getExt()
{
                if(in_array(strto lower($this->getFileExt($tempfilename)),$this->ext))
                {
                        true を返します;
                }その他{
                        false を返します。       
                }
        }
       
        プライベート関数 getFolder($folder)
        {
                if(!is_dir($folder))
                {
                        mkdir($フォルダー);
                }
                $folder を返します。"/";
        }
       
       
        パブリック関数upload()
        {
                if($this->uploadtype=="ONE")
                {
                       

if($this->getExt($this->file["type"]))
                        {
                               
                                親::errorExt();
                               
                        }else if($this->file["size"]>self::filesize){
                               
                                親::errorFileSize();
                               
                        }else if(!$this->getUploadPath()){
                               
                                親::errorUploadPath();
                               
                        }その他{
                                $filenametemp=$this->createFileName();
                                $filename=$this->savepath.$filenametemp.".".$this->getFileExt($this->file["name"]);
                                if(move_uploaded_file($this->file["tmp_name"],$filename))
                                {
                                        $this->uploadfilename=$filenametemp;
                                        親::okMoved();                       
                                       
                               
                                }その他{
                                        親::errorMoveUpload();
                                }
                        }
                }else if($this->uploadtype=="ANY"){

for($i=0;$ifile);$i++)
                        {
                       
                                if($this->getExt($this->file[$i]["type"]))
                                {
                                        親::errorExt();
                                       
                                }else if($this->file[$i]["size"]>self::filesize){
                                       
                                        親::errorFileSize();
                                       
                                }else if(!$this->getUploadPath()){
                                       
                                        親::errorUploadPath();
                                       
                                }その他{
                                        $filenametemp=$this->createFileName();
                                        $filename=$this->savepath.$filenametemp.".".$this->getFileExt($this->file[$i]["name"]);
                                        if(move_uploaded_file($this->file[$i]["tmp_name"],$filename))
                                        {
                                                $str.=$filenametemp."|";
                                               
                                        }その他{
                                                親::errorMoveUpload();
                                        }
                                       
                                }
                               
                        }
                        $this->uploadfilename=substr($str,0,strlen($str)-1);       
                        親::okMoved();
                }
        }
       
        パブリック関数 getUploadFileName()
        {
                $this->アップロードファイル名を返す;
        }
       
        パブリック関数 setUploadPath($path)
        {
                $this->uploadpath=$path;
        }
       
       
        プライベート関数 getRandomN($n)
        {
                if ($n 10) return "";
       
                $ary_num= 配列(0,1,2,3,4,5,6,7,8,9);
                $return ="";
                ($i=0;$i                 {
                        $randn = rand(0,9-$i);
                        $return .= $ary_num[$randn];
                        $ary_num[$randn] = $ary_num[9-$i];
}
return $return;
}



パブリック関数 __destruct()
{
$this->uploadfilename=null;
$this->uploadtype=null;
$this->file=null;
$this->savepath=null;
}

}

クラスエラー
{
パブリック静的関数 errorFileSize()
{
echo "最大アップロード制限を超えました";
}

パブリック静的関数 errorExt()
{
echo "そのようなファイルはアップロードできません";
}

パブリック静的関数 errorUploadPath()
{
echo "アップロード パスが正しくありません";
}

パブリック静的関数 errorMoveUpload()
{
echo "アップロードに失敗しました";
}

パブリック静的関数 okMoved()
{
echo "アップロード成功!";
}

パブリック静的関数 okArrayMoved()
{
echo "アップロード成功!";
}
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632005.html技術記事 ?php require_once(include/upload.class.php); if($_POST[button]) { //print_r($_FILES); //複数のアップロード//$upload = new TTRUpload($_FILES,ANY);/ /以下同様 $upload = new TTRUpload(array($...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート