thinkphp5 extend扩展库放哪里,该怎么new

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5 extend扩展库放哪里,该怎么new相关的知识,希望对你有一定的参考价值。

参考技术A 类库扩展
类库扩展包括基类库扩展、应用类库扩展和第三方类库扩展,所有扩展类库不会自动加载,需要手动加载或者定义别名和配置自动加载(详细可以参考4.2.3类库导入和4.2.5自动加载)。
基类库扩展
目前支持的基类库扩展包括ORG(第三方公共类库包)和Com(企业类库包)。你可以在ORG类库目录下面添加自己需要的类库,你甚至还可以创建属于自己企业的类库,只需要在Extend/Library目录下面创建Com目录,然后在里面增加相应的类库就可以方便的使用import方法导入了。例如,我们在Extend/Library/Com下面创建了Sina目录,并且放了Util\UnitTest.class.php类库文件,可以使用下面的方式导入
import('Com.Sina.Util.UnitTest');
目前官方提供的扩展或者第三方扩展都在ORG类库包下面。
应用类库扩展
项目类库的扩展,和基类库的扩展一样,我们可以在项目类库目录增加你想要的子目录,也只有在项目类库目录下面增加的类库才能使用import方法导入。例如,我们在MyApp的项目类库目录Lib下面增加Common和Util目录,就可以这样加载这些目录下面的类库文件了:
import('MyApp.Util.UnitTest');
import('@.Common.CommonUtil');
第三方类库扩展
如果你直接使用的是第三方的类库包,或者是类名和后缀和ThinkPHP的默认规则不符合的,我们建议你放到第三方类库扩展目录Extend/Vendor目录下面,并使用vendor方法来导入。
例如,我们把Zend的Filter\Dir.php 放到Vendor目录下面,这个时候Dir文件的路径就是
Vendor\Zend\Filter\Dir.php,我们使用vendor方法导入就是:
Vendor('Zend.Filter.Dir');
需要注意的是,vendor方法默认导入的类库后缀是php的而不是class.php的,如果你的第三方类库的后缀是class.php,可以使用:
Vendor('Zend.Filter.Dir','','.class.php');
或者使用:
import('Zend.Filter.Dir',VENDOR_PATH);
通过使用第三方类库扩展,我们可以直接使用Zend、CI或者其他框架中的类库。

ThinkPHP - 文件上传

获取上传类

ThinkPHP的扩展中提供了文件上传类库UploadFile,可以在在http://www.thinkphp.cn/extend/224.html下载,或者下载官方的完整扩展包(http://www.thinkphp.cn/down/253.html)里面也已经包含上传扩展类了。如果是单独下载的上传类库,把解压后的UploadFile.class.php 放入ThinkPHP/Extend/Library/ORG/Net/(如果没有请手动创建)目录下面。

 

效果:

技术分享

技术分享

技术分享

 

前台代码:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <title>上传</title>
 5     </head>
 6     <body>
 7         <form action="__URL__/upload/" id="upload" method=‘post‘ enctype="multipart/form-data" >
 8             <input name="image" type="file" />
 9             <input type="submit" value="提交" >
10         </form>
11     </body>
12 </html>

 

后台代码:

 1 <?php
 2 class UploadAction extends Action{
 3     /**
 4      * 入口文件
 5      */
 6     public function index(){
 7         $this->display();
 8     }
 9     
10     /**
11      * 上传文件
12      */
13     public function upload(){
14         
15         //引入上传文件类
16         import(‘ORG.Net.UploadFile‘);
17         
18         //实例化上传类
19         $upload = new UploadFile();
20         
21         
22         //配置上传参数
23         //基础配置
24         //上传文件大小
25         $upload->maxSize = 3145728;
26         //允许上传文件后缀
27         $uplaod->allowExts = array(‘jpg‘, ‘gif‘, ‘png‘, ‘bmp‘, ‘jepg‘);
28         //保存路径
29         $upload->savePath = ‘./Uploads/‘;
30         
31         //配置上传缩略图
32         //是否开启上传
33         $upload->thumb = true;
34         //缩略图最大宽度,多个使用逗号隔开
35         $upload->thumbMaxWidth = ‘81.5‘;
36         //缩略图最大高度,多个使用逗号隔开
37         $upload->thumbMaxHeight = ‘133‘;
38         //缩略图前缀
39         $upload->thumbPrefix = ‘thumb_‘;
40         //缩略图保存路径
41         $upload->thumbPath = ‘./Uploads/Thumb/‘;
42         
43         
44         
45         //上传文件
46         if ( !$upload->upload() ) {
47             echo ‘上传失败:‘ . $upload->getErrorMsg();
48         } else {
49             echo ‘上传成功!<br/>‘;
50             print_r($upload->getUploadFileInfo());
51         }
52     }
53 }

 

以上是关于thinkphp5 extend扩展库放哪里,该怎么new的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP5 支付宝 电脑与手机支付扩展库

Thinkphp5 引入第三方类库的方法

ThinkPHP5 封装邮件发送服务(可发附件)

ThinkPHP5 封装邮件发送服务(可发附件)

thinkPHP5 类库包注册

thinkphp5使用load和use引入第三方类