首页 > 编程知识 正文

php提供了很多默认的系统变量(PHP环境变量)

时间:2023-12-24 01:06:49 阅读:319719 作者:FMHB

本文目录一览:

PHP的预定义变量和常量都有什么?

PHP 在常量中定义了以下一些常量。

__FILE__

这个默认常量是 PHP 程序文件名。若引用文件 (include 或 require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名。

__LINE__

这个默认常量是 PHP 程序行数。若引用文件 (include 或 require)则在引用文件内的该常量为引用文件的行,而不是引用它的文件行。

PHP_VERSION

这个内建常量是 PHP 程序的版本,如 '3.0.8-dev'。

PHP_OS

这个内建常量指执行 PHP 解析器的操作系统名称,如 'Linux'。

TRUE

这个常量就是真值 (true)。

FALSE

这个常量就是伪值 (false)。

E_ERROR

这个常量指到最近的错误处。

E_WARNING

这个常量指到最近的警告处。

E_PARSE

本常式为解析语法有潜在问题处。

E_NOTICE

这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。

这些 E_ 开头形式的常量,可以参考 error_reporting() 函数,有更多的相关说明。

当然在程序写作时,以上的默认常量是不够用。define() 的功能可以让我们自行定义所需要的常量。见下例

?php

define("COPYRIGHT", "Copyright © 2000, netleader.126.com");

echo COPYRIGHT;

?

ThinkPHp中前台如何获取后台代码中定义的变量

{$username} //普通变量

{$userinfo["email"]} //数组方式

{$userinfo["sub"]["name"]} //三维数组方式

{$userinfo:email} //对象方式

{$userinfo.email} //自动判断数组或对象方式

{$变量|default="默认值"}

例子:

{$username|default="匿名"}

使用函数

{$webTitle|md5|strtoupper|substr=0,3}

实际执行结果等效为:

?php

echo substr(strtoupper(md5($webTitle)),0,3);

?

如果变量或上函数执行的结果不是函数或下一个函数的第一个参数,那么需要使用定位符“###”:

{$userinfo["regdate"]|date="Y-m-d H:i",###}

实际执行结果等效为:

?php

echo date("y-m-d H:i",$userinfo["regdate"]|);

?

模板直接使用函数

格式:

{:函数}

例子:

{:say_hello('ThinkPHP')} //say_hello()为用户自定义函数

实际执行结果等效为:

?php

echo say_hello('ThinkPHP');

?

2、执行函数但不输出

格式:

{~函数}

例子:

{~say_hello('ThinkPHP')} //say_hello()为用户自定义函数

实际执行结果等效为:

?php

say_hello('ThinkPHP');

?

系统变量输出

系统变量包括:server、session、post、get、request、cookie、env。系统变量的输出不需要事先赋值给某个模板变量。系统变量的输出以 $Think. 开头,并且仍然支持使用函数。

例子:

{$Think.session.session_id|md5} //输出 $_SESSION 变量并使用 md5 加密

//或简写为

{$_SESSION. session_id|md5}

//输出$_GET变量

{$_GET.pageNumber}

系统常量输出

使用$Think.const输出系统常量。

例子:

{$Think.const.ACTION_NAME} //输出 ThinkPHP 系统定义的常量 ACTION_NAME(当前操作名称)

//或简写为

{$Think.ACTION_NAME}

配置参数输出

使用 $Think.config 输出项目的配置参数值。

例子:

{$Think.config.DB_PREFIX}

输出的值和 C('DB_PREFIX') 的返回结果是一样的。

快捷输出

为了使得模板定义更加简洁,系统还支持一些常用的变量输出快捷标签,包括:

• {@var} 与 {$Think.session.var} 等效,输出 Session 变量

• {#var} 与 {$Think.cookie.var} 等效,输出 Cookie 变量

• {var} 与 {$Think.config.var} 等效,输出配置参数

• {%var} 与 {$Think.lang.var} 等效,输出语言变量

• {.var} 与 {$Think.get.var} 等效,输出 GET 变量

• {^var} 与 {$Think.post.var} 等效,输出 POST 变量

• {*var} 与 {$Think.const.var} 等效,输出常量

如何让PHP能够读取系统环境变量

一般情况下,都能实现显示phpinfo()的页面。就从能够显示该页面之后出现的问题说起。php的问题都会显示在phpinfo()页面上。首先查看自己的php.ini的路径是否正确。Q:我已经配置了php.ini文件,但重新启动服务器后为什么没有任何效果?A:这个问题主要有这几种情况。第一个原因是由于系统所读取的php.ini文件与你当时修改的php.ini文件不一致造成的1、 可以通过phpinfo()的Configuration File (php.ini) Path选项查看当前PHP服务器读取的是哪一个php.ini2、 如果你要更改php.ini的文件存取位置,可参考php.ini的搜索顺序,如下所示:a) SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)b) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath(Windows 注册表位置)c) PHPRC 环境变量d) 当前工作目录(对于 CLI)e) web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况)f) Windows 目录(C:windows 或 C:winnt),或 --with-config-file-path 编译时选项指定的位置3、 一般做法:通过设置PHPRC 环境变量,a) 操作:右击我的电脑-属性-高级-环境变量b) 在系统变量下新建一个“变量名为PHPRC ,变量值为你的php.ini文件所地文件路径”的环境变量第二个原因是:PHP没有找到相应的扩展库1、 查看PHP找到的扩展库位置:在phpinfo()的extension_dir选项可以看到2、 在php.ini更改extension_dir文件第三个原因:没有完全重启IIS1、 对php.ini的修改必须完全重启IIS才能起作用,而不能只是对当前站点进行重启。2、 进入cmd,停止服务器:net stop iisadmin;启动服务器:net start w3svcQ:我的PHP怎么没有办法激活MySql扩展库A:在PHP5.0以上版本,MySQL 默认未启用,因此需要咱们进行手工激活。1、 在PHP运行MySql,必须在 php.ini 中激活 php_mysql.dll 动态连接库,另外还需要访问 MySQL 客户端连接库即libmysql.dll文件2、 可以通过php.ini中的extension激活 php_mysql.dll 动态连接库;而libmysql.dll文件必须放在Windows 的系统路径 PATH才能访问,可以通过把libmysql.dll复制到system32目录下,也可以在PATH环境变量中新增一个路径。3、 建议做法:通过设置PATH,方便以后的php升级,在系统环境变量中的PATH后增加“libmysql.dll”所在的文件夹即可。记得通过“;”号隔开4、 [案例]最近,服务器总是找不到MySql扩展库,导致程序无法运行。因此,把所有文件删除后重新配置PHP服务器。但最后在安装MySql的时候,却始终无法激活MySql扩展库。在phpinfo()中找到的信息如下:PATH:c:phpPHPRC:C:phpextension_dir:c:phpext另外,我测试了将其它的库激活,如msql、gd2、xml,在phpinfo()都可以正常显示证明PHP能找到php_mysql.dll 动态连接库,而MySql的运行的另一个条件是能够讯问MySQL 客户端连接库即libmysql.dll文件,看来问题就在这里了。我对C盘搜索libmysql.dll文件,发现在system32和php文件夹各有一个文件,做好备份后,我尝试删除system32的libmysql.dll文件,发现被锁死,无法删除,却可以重新命名,我随便修改了名称,再重新启动IIS,服务器运行正常。补充一点:如果Configuration File (php.ini) Path 显示为C:Windows就说明,php.ini文件没有读取到。另外,我发现,在用IIS整合php时,有两种方式:ISAPI与CGI模式这两种方式,我们都可以看到phpinfo页面但是使用ISAPI模式,无法读取环境变量,所以通过环境变量PHPRC设置的php.ini路径无法找到。使用CGI就可以,这样就不必把好多文件拷到系统文件下。

在php中什么是系统环境变量?系统环境变量用来干什么?系统环境变量有多少?$_SERVER是系统环境变量吗?

系统变量是系统内部调用、环境变量指的是某开发环境或软件运行环境需要的一种指定系统调用才可正常运行。

简单理解就是 在计算机系统附加一种额外的插件支持新品运营环境。

PHP有哪几种外部变量?如何使用这几种变量?

不知道你是不是问的这个!

根据你的参考链接,这种属于前端提交数据到后端时出现的,比如前端用GET,POST传数据至后台!

举个例:前端(HTML的form)用GET传参时:外部变量=值,PHP用$_GET['外部变量']接收数据!

PHP清空所有变量

没有便捷的方法,只能用你上面说到的方法清空,如果你想一次性清空这么多的变量,设计程序时你就要考虑把这些变量数据统一归入到一个数组里面来使用,这样的话你清空就方便多了,把这个数组unset() 就OK了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。