PHP上传类实现单个和批量上传
PHP上传类还是比较常用的,于是我研究了一下PHP上传类,在这里拿出来和大家分享一下,希望对大家有用。PHP本身是一种简单而强大的语言。PHP语言拥有核心特性如强大的字符串和数组处理能力,同时极大的改进了对面向对象编程的支持(PHP5以上版本)。
PHP上传类代码:
- <?php
- /**
- *@packagemyFrameworkuploadclass
- *@Descriptionuploadclass
- *@Date2007-11-28
- *@authorantsnet
- *@copyrighthttp://www.antsnet.net
- *@Emailantsnet@163.com
- *@Environment:Apache2.0.59+PHP5.2.5+mysql5.0
- *@version$Id:myFrame_Upload.php22008-02-2701:14:05ZAdministrator$
- */
- classmyFrame_UploadextendsmyFrame
- {
- var$uploadPath=uploadFile/;
- var$fullPath=;
- var$message;
- var$_debug=false;
- var$errorMessage=;
- function__construct($uploadPath=)
- {
- if($uploadPath!=)
- {
- $this->uploadPath=$uploadPath;
- }
- }
- /**
- *Batchupload
- *
- *@paramArray$arrayOutPut
- */
- publicfunctionformLocalBatch($keepSource=false,$arrayOutPut=)
- {
- $returnArray=array();
- if(sizeof($_FILES)==$arrayOutPut&&!$keepSource)
- {
- $i=0;
- foreach($_FILESas$index=>$value)
- {
- $returnArray[]=$this->fromLocal($value,$outPutName[$i]);
- $i++;
- }
- }else{
- foreach($_FILESas$index=>$value)
- {
- $returnArray[]=$this->fromLocal($value);
- }
- }
- return$returnArray;
- }
- /**
- *Uploadfileformlocal
- *
- *@paramArray|String$file_Area_Name
- *@paramArray|String$outPutName
- */
- publicfunctionfromLocal($VALUE,$outPutName=)
- {
- include_once(SERVERROOT.MYFRAME.myFrame_Basic.php);
- /**
- *thefollowingforsingle
- */
- if($outPutName==||$outPutName==NULL)
- {
- $outPutName=date(YmdHis);
- }
- if($VALUE[error]>0)
- {
- switch($VALUE[errror])
- {
- case1:
- $this->errorMessage[]=$this->myFrameMessage[false][file][max];
- returnfalse;
- break;
- case2:
- $this->errorMessage[]=$this->myFrameMessage[false][file][maxDefined];
- returnfalse;
- break;
- case3:
- $this->errorMessage[]=$this->myFrameMessage[false][file][uncomplite];
- returnfalse;
- break;
- case4:
- $this->errorMessage[]=$this->myFrameMessage[false][file][unupload];
- returnfalse;
- break;
- }
- }
- $fileName=$this->uploadPath.$outPutName.myFrame_Basic::getFileName($VALUE[name]).myFrame_Basic::getFileExt($VALUE[name]);
- if(is_uploaded_file($VALUE[tmp_name]))
- {
- if(!move_uploaded_file($VALUE[tmp_name],$fileName))
- {
- $this->errorMessage[]=$this->myFrameMessage[false][file][move];
- returnfalse;
- }else{
- return$fileName;
- }
- }
- }
- /**
- *Uploadfromnetwork
- *
- *@paramArray|String$url
- *@paramArray|String$outPutName
- *@paramBool$keepSource
- */
- publicfunctionfromNet($url,$outPutName=,$keepSource=false)
- {
- include_once(SERVERROOT.MYFRAME.myFrame_Basic.php);
- if($outPutName==)
- {
- $outPutName=date(YmdHis);
- }
- $fileType=myFrame_Basic::getFileExt($url);
- $fileName=$outPutName.$fileType;
- $contents=file_get_contents($url);
- $return=file_put_contents($this->uploadPath.$fileName,$contents);
- if($return){
- $this->fullPath=$this->uploadPath.$fileName;
- return$this->fullPath;
- }else{
- $this->errorMessage[]=$this->myFrameMessage[false][file][url];
- returnfalse;
- }
- }
- }
本文地址:http://www.phprm.com/frame/php1003424.html
转载随意,但请附上文章地址:-)
- 上一篇: 高手教你PHP上传多张图片
- 下一篇: 新手必看PHP上传文件进度全面揭秘