ThinkPHP5中raw的作用

在thinkphp5中,我们一般在模板中输出变量是这样的:{$test}但是有时候在有些源码中我们可以看到这样的方式:{$test|raw}这个时候如果你去找手册会发现,全文基本没有提到这个raw的作用。那么根据{}中|的作用理解,我们可以吧raw当成是一个方法,全局搜索试试。很遗憾,只在Query.php中找到一个同名方法,且这是一个类方法,PASS。后面直接在模板中写两个,分别是带raw和不带的,刷新页面,查看runtime中的缓存文件。结果一目了然,如下:{$test} ------> <?php echo...

阅读全文

ThinkPHP使用Layui实现下拉加载

整体基本和Flask一样,笔记地址:http://sulao.cn/post/625.html,语言都是相通的,不多介绍,直接看代码吧,layui都封装好了用法,直接用即可Thinkphp控制器代码<?phpnamespace app\index\controller;class Index extends Base{    //首页    public function index(){...

阅读全文

Thinkphp5使用Layui实现文件异步上传的方法

刚才有发一个flask+layui上传的方法,现在发布一个tp5.0+layui的上传方法,注意了tp5.0和tp5.1还是有些微差别,这是tp5.0的控制器代码:<?phpnamespace app\admin\controller;class Attchment extends Base{public function upload(){    $file = request()->file(&#...

阅读全文

ThinkPHP操作MongoDB排序关于最大使用32M内存报错的解决方案

当mongodb里的数据达到一定规模以后,默认的32M内存已经无法存放这么大的数据而抛出错误,因为mongodb的排序是在内存中进行的,错误提示如下Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. A...

阅读全文

nginx下thinkphp访问提示No input file specified

今天配置thinkphp环境忽然访问提示Noinputfilespecified查找资料找到原因是因为在Fastcgi模式下,php不支持rewrite的目标网址的PATH_INFO的解析ThinkPHP运行在URL_MODEL=2时,会出现Noinputfilespecified.的情况, 解决办法:fastcgi_params文件最下面添加fastcgi_param PHP_ADMIN_VALUE "open_basedir=.:/tmp/:$document_root";...

阅读全文

php将远程图片保存到本地实例(循环存储多图)

之前一直使用phpcms自带的采集功能,只需要写下采集规则即可,现在需求改变,需要一些自定义的东西,需要整合到thinkphp里面,所以从头开始搞这个,花了点时间,参考了下网上的教程,php代码<?phpfunction SaveImg($url){$imgurl = file_get_contents($url);$start = strpos($imgurl, "<div class=\"con-desc\">&quo...

阅读全文

ThinkPHP数据库短时间内查询过多查询不完整问题

经调试发现,当在短连接的情况下,频繁过多的socket连接时,会发生异常。这里我们将MySQL的连接方式改成长连接即可。在TP5中,可以在/application/database.php中,修改params项,由params=>[],改成如下:'params'         => [    \PDO::ATTR_PERSISTENT   =>...

阅读全文

ThinkPHP报错SQLSTATE[HY000] [2002] No such file or directory解决方案

出现这个报错,一般都是php.ini中关于>mysql.sock的指向与my.cnf中mysq.sock的指向不一致导致的。方案一打开/etc/my.cnf配置文件(这里的我的机器,具体根据环境实际情况查找),找到如下配置项目:注意到其中的socket没,这里就是mysql.sock的正确指向位置。接下来,再打开php.ini文件(一般是在php安装目录下的etc目录中),找到与mysqldefault_socket相关的配置项目,比如mysqli.default_socket 或 pdo_mysql.default_sock...

阅读全文

thinkphp模板中使用原生php代码

在模板中使用原生php代码可能是我们需要的,毕竟thinkphp的方法再全再灵活,有些地方使用原生php去写更方便,所以thinkphp有提供我们在模板中使用原生php的方法首先找到TMPL_DENY_PHP这个参数改为falsePhp代码可以和标签在模板文件中混合使用,可以在模板文件里面书写任意的PHP语句代码,包括下面两种方式: 第一种是使用php标签: 例如: <php>echo 'Hello,world!';</php>我们建议需要使用PHP代码的时候尽量采用php...

阅读全文

thinkphp3中import方法导入类库的用法

import方法是ThinkPHP框架用于类库导入的封装实现,尤其对于项目类库、扩展类库和第三方类库的导入支持,import方法早期的版本可以和java的import方法一样导入目录和通配符导入,后来考虑到性能问题,在后续的版本更新中不断改进和简化了,所以现在的用法比较简单明了。调用格式:import('类库名', '起始路径', '类库后缀')import方法有一个别名vendor方法,专门用于导入第三方类库,区别在于起始路径和类库后缀默认值不同。我们来分析下具体的用法: 一...

阅读全文