Home > Backend Development > PHP Tutorial > ThinkPHP file upload example tutorial, _PHP tutorial

ThinkPHP file upload example tutorial, _PHP tutorial

WBOY
Release: 2016-07-13 10:20:06
Original
879 people have browsed it

ThinkPHP file upload tutorial,

File uploading is a common function in many PHP program projects. Today, this article will share a complete example to implement the ThinkPHP file uploading function. The specific method is as follows:

1. Action part:

FileAction.class.php page code is as follows:

<&#63;php
class FileAction extends Action{
  function index(){
    $file=M('file');
    $list=$file->select();
    $this->assign('filelist',$list);
    $this->display();  
  }  
  function upload(){
    //文件上传地址提交给他,并且上传完成之后返回一个信息,让其写入数据库  
    if(empty($_FILES)){
      $this->error('必须选择上传文件');  
    }else{
      $a=$this->up();
      if(isset($a)){
        //写入数据库的自定义c方法
        if($this->c($a)){
          $this->success('上传成功');  
        }
        else{
          $this->error('写入数据库失败');  
        }
      }else{
        $this-error('上传文件异常,请与系统管理员联系');  
      }
    }
  }
  private function c($data){
    $file=M('file');
    $num  =  '0';
    for($i = 0; $i < count($data)-1; $i++) {
      $data['filename']=$data[$i]['savename'];      
      if( $file->data($data)->add())
      {
        $num++;
      }
    }
    if($num==count($data)-1)
    {
      return true;  
    }else
    {
      return false;
    }
  }
  private function up(){
    //完成与thinkphp相关的,文件上传类的调用  
    import('@.Org.UploadFile');//将上传类UploadFile.class.php拷到Lib/Org文件夹下
    $upload=new UploadFile();
    $upload->maxSize='1000000';//默认为-1,不限制上传大小
    $upload->savePath='./Public/Upload/';//保存路径建议与主文件平级目录或者平级目录的子目录来保存  
    $upload->saveRule=uniqid;//上传文件的文件名保存规则
    $upload->uploadReplace=true;//如果存在同名文件是否进行覆盖
    $upload->allowExts=array('jpg','jpeg','png','gif');//准许上传的文件类型
    $upload->allowTypes=array('image/png','image/jpg','image/jpeg','image/gif');//检测mime类型
    $upload->thumb=true;//是否开启图片文件缩略图
    $upload->thumbMaxWidth='300,500';
    $upload->thumbMaxHeight='200,400';
    $upload->thumbPrefix='s_,m_';//缩略图文件前缀
    $upload->thumbRemoveOrigin=1;//如果生成缩略图,是否删除原图
    
    if($upload->upload()){
      $info=$upload->getUploadFileInfo();
      return $info;
    }else{
      $this->error($upload->getErrorMsg());//专门用来获取上传的错误信息的  
    }  
  }
}
&#63;>

Copy after login

2. View template part:

The template file index.html code is as follows:

<html>
<body>
<volist name="filelist" id="vo">
 小图:<img src="__PUBLIC__/upload/s_{$vo['filename']}" /><br />
 大图:<img src="__PUBLIC__/upload/m_{$vo['filename']}" /><br />
</volist>
<form action="__URL__/upload" method="post" enctype="multipart/form-data">
  <input type="file" name="file[]" /><br />
  <input type="file" name="file[]" /><br />
  <input type="file" name="file[]" /><br />
  <input type="submit" value="上传" />
</form>

</body>
</html>

Copy after login

I believe that the examples described in this article can serve as a reference for everyone’s ThinkPHP program development.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/868241.htmlTechArticleThinkPHP file upload example tutorial. File upload is a common function in many PHP program projects. Today I will share this article A complete example to implement the file upload function of ThinkPHP...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template