ThinkPHP5.1里面__PUBLIC__无法生效的问题

这篇文章将为大家详细讲解有关ThinkPHP5.1里面__PUBLIC__无法生效的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

10年的十堰网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整十堰建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“十堰网站设计”,“十堰网站推广”以来,每个客户项目都认真落实执行。

ThinkPHP5.1 里面__PUBLIC__无法生效的问题

在用PHP模板的时候需要引用外部的样式文件,之前的版本直接用__PUBLIC__就可以定位到指定的位置。

但是页面中__PUBLIC__并没有解析成对应的路径。

在查询TP5.1的文档时候,有这么一句话。“view_replace_str配置参数改成template配置文件的tpl_replace_string配置参数。”所以需要在config/template.php中设置tpl_replace_string的值。

我们直接添加这条配置项,代码如下。

'tpl_replace_string' =>[    
    '__PUBLIC__' => $_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME'])),],

你也可以自己设置成固定样式。

'tpl_replace_string' => ['__PUBLIC__'=>'/项目名/public'],

这时候刷新页面看一下,发现还是__PUBLIC__并没有转义。这里是由于Runtime下面有缓存文件。把Runtime下的文件都删除一下,就可以了。

一.index.php 入口文件加入

define('SCRIPT_DIR', rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/\\'));

thinkphp5.1以下版本设置__STATIC__ __JS__ __CSS__等常量thinkphp在think目录的view.php

  $baseReplace = [            '__ROOT__'   => $root,
            '__URL__'    => $base . '/' . $request->module() . '/' . Loader::parseName($request->controller()),
            '__STATIC__' => $root . '/static',
            '__CSS__'    => $root . '/static/css',
            '__JS__'     => $root . '/static/js',
        ];

可以在config中修改和重新定义

 // 视图输出字符串内容替换
    'view_replace_str' => [        '__IMAGE__'     => '/static/images',
        '__UPLOAD__'     =>'/upload',

    ],

thinkphp5.1版本设置

在config目录的template.php加入

   'tpl_replace_string' =>[        '__STATIC__'=> SCRIPT_DIR . '/static',   //后台程序css,img,js所在文件
        '__COMMON__'=> SCRIPT_DIR . '/common',   //前后共有css,img,js所在文件
        '__APP__'   => SCRIPT_DIR . '/',               //定义首页
        '__JS__'=> SCRIPT_DIR . '/static/js',  //js文件
        '__CSS__'=> SCRIPT_DIR . '/static/css',  //css文件
        '__IMAGE__'=> SCRIPT_DIR . '/static/images',  //image文件
    ],

关于“ThinkPHP5.1里面__PUBLIC__无法生效的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


分享文章:ThinkPHP5.1里面__PUBLIC__无法生效的问题
网站路径:http://ybzwz.com/article/jjjgpe.html