Home  >  Article  >  Backend Development  >  PHP file upload program (1/2)_PHP tutorial

PHP file upload program (1/2)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 16:54:34784browse

php tutorial file upload program
The article provides a complete PHP file upload program example code. It can upload pictures and save them to 1: Save to the directory on a daily basis 2: Save to the directory on a monthly basis. You can also set the uploaded image to generate a watermark,
*/
?>





Upload file program



/***********************
Procedure: Upload files
Functions: Upload files, thumbnails, add watermarks
****************************/
include("common/upfiles.class.php");
$path="../upload/coolsite"; //File upload path
$mix="smallimg"; //Thumbnail path (created under upload)
$mark="markimg"; //The image storage path for adding water (created under upload)
$text = array("www.bKjia.c0m"); //Watermark content
$oupload= new upfiles($path,$mix,$mark); //Instantiate class files

if(isset($_post['up'])){

if($_post['urlid']=='1'){ //Upload pictures Parameter urlid 1: Upload pictures 2: Upload other files..

$oupload->tofile = true; //If turned on, only the thumbnail or watermark image will be saved, and the original image will be deleted
$photo = $oupload->upload("upfile"); //Uploaded file domain
$photourl = $oupload->fileurl."/".$photo;
$newsmallimg = $oupload->smallimg($photo); //Thumbnail function
//$newmarkimg = $oupload->watermark($photo,$text); //Watermark function

//echo $newsmallimg; //Output thumbnail path
//echo $newmark; //Output watermark path
//echo ""; //Output thumbnail
//echo ""; //Output watermark image
}else{
$upfilename = $oupload->upload("upfile"); //Uploaded file domain
}
$strjs = "n";
echo $strjs; //Append the last file path to upfile1 and upfile2
}else{
?>







//upfiles.class.php

/*==========================
Upload class upfiles.class.php
===========================*/
class upfiles {
/*==========================
//Basic parameter settings
===========================*/
​​​​ protected $annexfolder = "upload"; //Attachment storage point, default is: upload
protected $dirtype = 2; //1: Save to the directory on a daily basis 2: Save to the directory on a monthly basis
           protected $smallfolder = "smallimg"; // Thumbnail storage path, note: it must be a subdirectory under $upload, the default is: smallimg
            protected $markfolder = "markimg";        // Watermark image storage path, note: it must be a subdirectory under $upload, the default is: markimg
           protected $upfiletype = "jpg gif png rar zip"; //Upload type, the default is: jpg gif png rar zip
           protected $upfilemax = 102400; //Upload size limit, unit is "kb", default is: 1024kb
           protected $fonttype = "common/equinoxstd.otf"; // Watermark font library
Protected $ maxwidth = 800; // The maximum width of the picture
          protected $maxheight = 600; //Maximum height of image

/*==========================
//Initialize upload class
===========================*/
Public function __construct($annexfolder,$smallfolder,$includefolder) {
 
Switch($this->dirtype)
{
case 1: $attach_subdir = 'day_'.date('ymd'); break;
case 2: $attach_subdir = 'month_'.date('ym'); break;
}
$attach_dir = $annexfolder.'/'.$attach_subdir;
$attach_dir_small = $attach_dir.'/'.$smallfolder;
$attach_dir_mark = $attach_dir.'/'.$includefolder;
 
$this->rootfolder = $annexfolder;
$this->annexfolder = $attach_dir;
$this->smallfolder = $attach_dir_small;
$this->markfolder = $attach_dir_mark;
//$this->fonttype = $includefolder."/nasaliza.ttf";
}
public function __get($fileurl){
$fileurl = $this->annexfolder;
Return $fileurl;
}
/*=========================
//Upload file
===========================*/
          public function upload($inputname) {
//Check if the folder exists
If(!file_exists($this->annexfolder)){
If(!file_exists($this->rootfolder)) @mkdir($this->rootfolder);
If(!file_exists($this->annexfolder)) @mkdir($this->annexfolder);
If(!file_exists($this->smallfolder)) @mkdir($this->smallfolder);
If(!file_exists($this->markfolder)) @mkdir($this->markfolder);
}
If(!file_exists($this->smallfolder)){
@mkdir($this->smallfolder);
}  
If(!file_exists($this->markfolder)){
@mkdir($this->markfolder);
}
                                                 $this->uptype = $_files[$inputname]["type"];
$this->upname = $_files[$inputname]["name"];
$this->uptmp_name = $_files[$inputname]["tmp_name"];
$this->ups tutorialize = $_files[$inputname]["size"];
    $this->uperror = $_files[$inputname]["error"];

    if($this->uptype){
     switch ($this->uptype)///检查上传的类型
     {    
      case "image/pjpeg":    
       $fileextname = "jpg";    
       break;
      case "image/jpeg":    
       $fileextname = "jpg";    
       break;  
      case "image/gif":    
       $fileextname = "gif";    
       break;    
      case "image/x-png":    
       $fileextname = "png";    
       break;    
      case "application/x-shockwave-flash":    
       $fileextname = "swf";    
       break;    
      case "text/plain":    
       $fileextname = "txt";    
       break;    
      case "application/msword":    
       $fileextname = "doc";    
       break;
      case "application/vnd.ms-excel":    
       $fileextname = "xls";    
       break;
      case "application/x-zip-compressed":    
       $fileextname = "zip";    
       break;
      case "audio/mpeg":
       $fileextname = "mp3";    
       break;
      case "audio/x-ms-wma":
       $fileextname = "wma";    
       break;
      case "application/pdf":
       $fileextname = "pdf";    
       break;
      default: //如果不满足上述类型,那么上传文件被判断为格式不正确!!
       //$fileextname  =strtolower(substr(strrchr(trim($this->upname), "."),1,4));
       //$fileinfo=pathinfo($this->upname);
       //$fileextname=$fileinfo['extension'];
       $fileextname = "err";
      }
     }
    

1 2

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631742.htmlTechArticlephp教程文件上传程序 文章提供一款完整理的php文件上传程序实例代码,他可以上传图片并且把图片保存到1:按天存入目录 2:按月存入目录...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn