┎━ThinkPHP 框架系统目录
┃┝ ThinkPHP.php 系统公共文件
┃┝ Common 公共文件目录
┃┝ Tpl 框架系统模版目录
┃┝ Lang 系统语言包目录
┃┝ PlugIns 公共插件目录
┃┗ Lib 系统基类库目录
┃  ┝ Think 系统运行库(必须)
┃  ┝ Com 扩展类库包(非必须)
┃  ┗ ORG 扩展类库包(非必须) 
┃
┝━App App 项目目录
┃┝ index.php 项目入口文件(可任意放置)
┃┝ Cache 模版缓存目录
┃┝ Common 公共文件目录(非必须)
┃┝ Conf 项目配置目录
┃┝ Data 项目数据目录
┃┝ Html 静态文件目录(非必须)
┃┝ PlugIns 插件目录(非必须)
┃┝ Tpl 模版文件目录
┃┝ Lang 语言包目录(非必须)
┃┝ Logs 日志文件目录
┃┝ Temp 数据缓存目录
┃┗ Lib 应用类库目录
┃  ┝ Action 控制器(模块)类目录
┃  ┝ Model Model 类文件目录
┃   … 下面的应用目录可根据需要选择和定义
┃  ┝ Exception 异常类库目录
┃  ┝ Common 公共应用类目录
┃  ┗ Help 助手类目录
┃
┃…更多项目目录(和App 目录类似,每个项目采用独立目录,便于部署)
┃
┝━Public 网站公共目录(多项目公用)
┃┝ Js JS 类库目录(建议)
┃┝ Images 公共图像目录(建议)
┃┗ Uploads 公共上传目录(建议)

ThinkPHP 框架除了模板目录和网站入口文件必须放到 WEB 目录下之外,其它所有框架的文件和目录可以单独存放,不受限制,您需要做的仅仅是在首页文件中指定ThinkPHP 框架的包含目录,我们建议您如果可能的话把 ThinkPHP 框架的目录包放到其它网站不能访问的目录下面,以保障应用的安全性。项目独立目录,方便部署和团队开发。每个项目有自身的配置文件、语言文件、插件文件和日志文件。如果在类Linux 环境下面部署,需要对以下目录设置可写权限(这些目录仅仅针对项目目录,系统目录无需设置任何可写权限,因为每个项目的模版缓存和数据缓存,以及日志文件都是独立的)。项目目录下面的 Cache(模版缓存目录)、Temp(数据缓存目录)、Conf(项目配置目录,写入权限用于自动生成配置缓存和插件缓存文件)、 Logs(日志文件目录)、如果设置了 Uploads 上传目录和 Data 数据目录的话也必须设置为可写。
另外,如果设置了 Public 目录下面的 Uploads 目录作为公共上传目录,也需要设置可写权限。通常的设置都是设置目录属性为 777。一定要注意在 Linux 环境下面的文件大小写问题,否则会导致文件加载错误。

TP中有不少路径的便捷使用方法,比如模板中使用的__URL__,__ACTION__等,如果你对这些路径不是很明白,用起来说不定就会有这样或那样的问题,抑或出了错也不知道怎么改,现在我们看一下这些路径到底是代表了什么吧!
假如你项目首页的URL是:www.test.com/other/Form
假如当前模块是:Index
假如当前操作是:index
那么首页完整的URL:http://www.test.com/other/Form/index.php/Index/index
__ROOT__
:/other/thinkphp/mydemo
__SELF__
:/other/thinkphp/mydemo/Form/index.php
__ACTION__
: /other/thinkphp/mydemo/Form/index.php/Index/index
__URL__
: /other/thinkphp/mydemo/Form/index.php/Index
__APP__
: /other/thinkphp/mydemo/Form/index.php
__PUBLIC__
:/other/thinkphp/mydemo/Public
../public(不区分大小写):/other/thinkphp/mydemo/Form/Tpl/default/Public
APP_PUBLIC_URL
:/other/thinkphp/mydemo/Form/Tpl/default/Public
WEB_PUBLIC_URL
:/other/thinkphp/mydemo/Public

模板中对路径部分的操作是这样子的:

PHP代码

1.     //项目公共目录  

2.             $tmplContent = str_ireplace('../public',APP_PUBLIC_URL,$tmplContent);  

3.             //网站公共目录  

4.             $tmplContent = str_replace('__PUBLIC__',WEB_PUBLIC_URL,$tmplContent);  

5.             //网站根目录  

6.             $tmplContent = str_replace('__ROOT__',__ROOT__,$tmplContent);  

7.             //当前项目地址  

8.             $tmplContent = str_replace('__APP__',__APP__,$tmplContent);  

9.             //当前模块地址  

10.         $tmplContent = str_replace('__URL__',__URL__,$tmplContent);  

11.         //当前项目操作地址  

12.    $tmplContent = str_replace('__ACTION__',__ACTION__,$tmplContent);  

13.         //当前页面操作地址  

14.    $tmplContent = str_replace('__SELF__',__SELF__,$tmplContent);

<!----------------------------------------------------------------------------------------------------------------->

THINK_PATH // ThinkPHP 系统目录
APP_PATH //
当前项目目录
APP_NAME //
当前项目名称
MODULE_NAME //
当前模块名称
ACTION_NAME //
当前操作名称
TMPL_PATH //
项目模版目录
LIB_PATH //
项目类库目录
CACHE_PATH //
项目模版缓存目录
CONFIG_PATH //
项目配置文件目录
LOG_PATH //
项目日志文件目录
LANG_PATH //
项目语言文件目录
TEMP_PATH //
项目临时文件目录
PLUGIN_PATH //
项目插件文件目录
VENDOR_PATH //
第三方类库目录
DATA_PATH //
项目数据文件目录
IS_APACHE //
是否属于 Apache
IS_IIS //
是否属于 IIS
IS_WIN //
是否属于Windows 环境
IS_LINUX //
是否属于 Linux 环境
IS_FREEBSD //
是否属于 FreeBsd 环境
NOW_TIME //
当前时间戳
MEMORY_LIMIT_ON //
是否有内存使用限制
OUTPUT_GZIP_ON //
是否开启输出压缩
MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC
THINK_VERSION //ThinkPHP
版本号
LANG_SET //
浏览器语言
TEMPLATE_NAME //
当前模版名称
TEMPLATE_PATH //
当前模版路径
__ROOT__ //
网站根目录地址
__APP__ //
当前项目(入口文件)地址
__URL__ //
当前模块地址
__ACTION__ //
当前操作地址
__SELF__ //
当前 URL 地址
TMPL_FILE_NAME //
当前操作的默认模版名(含路径)
WEB_PUBLIC_URL //
网站公共目录
APP_PUBLIC_URL //
项目公共模版目录

模板中使用的系统常量
__ROOT__ //
网站根目录地址
__APP__ //
当前项目(入口文件)地址
__URL__ //
当前模块地址
__ACTION__ //
当前操作地址
__SELF__ //
当前 URL 地址
__PUBLIC__ //
网站公共目录
../Public(
不区分大小写) // 项目公共模版目录

相关文章:

  • 2022-12-23
  • 2021-12-13
  • 2021-07-15
  • 2021-04-16
  • 2021-04-30
  • 2021-06-04
  • 2021-04-08
  • 2021-11-27
猜你喜欢
  • 2022-01-23
  • 2021-12-19
  • 2021-07-04
  • 2021-11-22
  • 2021-11-18
  • 2022-01-15
  • 2022-02-02
相关资源
相似解决方案