`
wangyalei
  • 浏览: 53176 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

php学习笔记(开发中常设置的内置函数)

    博客分类:
  • PHP
阅读更多

为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。比如我们常用到的:获取magic_quotes_gpc状态,来决定当表单提交时我们是否转义(addslashes)数据;设定max_execution_time来延长程序的执行时间;设定error_reporting使自己的项目在开发与运营阶段切换;设定memory_limit加大内存等等… 在我们看一下开源的cms 系统中 会常遇到一些特殊的php的内置函数

  

1。 php函数 set_magic_quotes_runtime(0); 可以修改php.ini中 magic_quotes_runtime boolean的设置当你的数据中有一些 \  、"、' 又想不被过滤掉的时候,它就很有用,会在这些字符前加上\进行转义 例如:

中国\地大物博"哈哈"-------》中国\\地大物博\"哈哈\"  其中  0-关闭 1-打开 php程序中检测状get_magic_quotes_runtime

 

2。: void set_time_limit (int seconds)

设定一个程式所允许执行的秒数,如果到达限制的时间,程式将会传回错误。它预设的限制时间是30秒,max_execution_time的值定义在结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini),如果将秒数设为0,表示无时间上的限制。 例如在用PHP导入数据库的时候就会用到。

 

3。error_reporting() 设置 PHP 的报错级别并返回当前级别。

任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

//禁用错误报告
error_reporting(0);

//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误
error_reporting(E_ALL);

 

4。set_include_path:

举个例子:
你的一个页面有这样的语句:
include('/inc/sql.php');
include('/inc/conn.php');
而你突然发现我把这些要包含的文件放在inc目录下不安全,怎么办,要改,我想放到include目录中,好的,这么多页面不累死才怪:有没有好的方法!有!!!!!!!
在config.inc.php中写着么一句:

set_include_path(get_include_path() .'/include')动态的修改!

 

5。extension_loaded

extension_loaded --- 判断扩展模块是否载入

  语法: bool extension_loaded (string name) 

  如果参数name指定的扩充模组已载入则此函数返回true,可以用phpinfo()来看见各种扩充模组的名称

 

6。gethostbyname()  返回对应于给定主机名的主机信息。

 

 

Php代码 复制代码

  1. ini_set(string varname, string newvalue ) : //设定环境配置的参数   
  2. ini_get(string varname) : //获取环境配置的参数  
ini_set(string varname, string newvalue ) : //设定环境配置的参数
ini_get(string varname) : //获取环境配置的参数

 

  PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。

 

 就是能够设置php.ini中的选项值比如,display_error选项关闭 了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用PHP ini_set函数:

 

Php代码 复制代码
ini_set('display_errors', 'On');
 

 那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。

 如果你需要增加脚本执行时间,那么可以设置:

 

 

Php代码 复制代码

ini_set('max_execution_time', '180');
 

  那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用set_time_limit()来设置。

 

  其实你把PHP ini_set函数和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:

 

 

Php代码 复制代码
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
 

 PHP配置函数ini_get()相信很多人都使过,就是获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。

 

  比如手册中的例子:

 

Php代码 复制代码

 

<?php 
/* Our php.ini contains the following settings: display_errors = On register_globals = Off post_max_size = 8M */ 

echo 'display_errors = ' . ini_get('display_errors') . " "; //显示错误是否打开 
echo 'register_globals = ' . ini_get('register_globals') . " "; //全局变量是否打开 
echo 'post_max_size = ' . ini_get('post_max_size') . " "; //最多能提交的文件大小 
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . " "; 

?>

 

  输出:

 

  display_errors = 1

  register_globals = 0

  post_max_size = 8M

  post_max_size+1 = 9

 

  PHP配置函数ini_get()主要是为了获取配置文件,可以方便你很多操作。 比如你想操作字符串过滤,但是又不清楚 magic_quotes_gpc有没有打开,所以你就可以这样写一个函数:

 

 

Php代码 复制代码
<?php 
 /* 字符串过滤函数 */ 
function stringFilter($str) { 
	if (ini_get('magic_quotes_gpc)') { return $str; } else { return addslashes($str); } 
}
?>

 

  当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:

 

Php代码 复制代码

 

<?php 
/* 变量检测函数 */ 
function getGetVar($var) { 
	if (ini_set('register_gobals')){ return $var; } else { return $_GET['var']; } 
}
?>

 

  当然,你可以用PHP配置函数ini_get()做很多用途,自己慢慢体会。


getenv与$_SERVER

$spager=$_SERVER["SERVER_NAME"];
或者
$spager=getenv('SERVER_NAME');
都可以得到同样结果
...
SERVER是服务器超级全局变量数组
也就是可以在任何页面调用.
这数组里面保存了 很多东西
例如服务器IP 客户IP
浏览器型号..等等
我们可以使用这些信息 对用户做一些判断..
例如你看到的图片 可以显示你的IP地址
就是通过这个数组 加上IMAGE 函数实现的
下面我列出$_SERVER内容
-------------------------------------
“GATEWAY_INTERFACE”
服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。

“SERVER_NAME”
当前运行脚本所在服务器主机的名称。如果该脚本运行在一个虚拟主机上,该名称是由那个虚拟主机所设置的值决定。

“SERVER_SOFTWARE”
服务器标识的字串,在响应请求时的头信息中给出。

“SERVER_PROTOCOL”
请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

“REQUEST_METHOD”
访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

注: 如果请求的方式是 HEAD,PHP 脚本将在送出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲)。

“REQUEST_TIME”
请求开始时的时间戳。从 PHP 5.1.0 起有效。

“QUERY_STRING”
查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。

“DOCUMENT_ROOT”
当前运行脚本所在的文档根目录。在服务器配置文件中定义。

“HTTP_ACCEPT”
当前请求的 Accept: 头信息的内容。

“HTTP_ACCEPT_CHARSET”
当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,*,utf-8”。

“HTTP_ACCEPT_ENCODING”
当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。

“HTTP_ACCEPT_LANGUAGE”
当前请求的 Accept-Language: 头信息的内容。例如:“en”。

“HTTP_CONNECTION”
当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。

“HTTP_HOST”
当前请求的 Host: 头信息的内容。

“HTTP_REFERER”
链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。

“HTTP_USER_AGENT”
当前请求的 User-Agent: 头信息的内容。该字符串表明了访问该页面的用户代理的信息。一个典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。也可以使用 get_browser() 得到此信息。

“HTTPS”
如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。

“REMOTE_ADDR”
正在浏览当前页面用户的 IP 地址。

“REMOTE_HOST”
正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR。

注: 必须配置 Web 服务器来建立此变量。例如 Apache 需要在 httpd.conf 中有 HostnameLookups On。参见 gethostbyaddr()。

“REMOTE_PORT”
用户连接到服务器时所使用的端口。

“SCRIPT_FILENAME”
当前执行脚本的绝对路径名。

注: 如果脚本在 CLI 中被执行,作为相对路径,例如 file.php 或 ../file.php,$_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。


“SERVER_ADMIN”
该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。

“SERVER_PORT”
服务器所使用的端口。默认为“80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

“SERVER_SIGNATURE”
包含服务器版本和虚拟主机名的字符串。

“PATH_TRANSLATED”
当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。

 

PHP extract() 函数从数组中把变量导入到当前的符号表中。

  对于数组中的每个元素,键名用于变量名,键值用于变量值。

  第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。

  本函数返回成功设置的变量数

 

 

分享到:
评论

相关推荐

    学习笔记简述51单片机延时函数

    学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习...

    51单片机C语言延时函数STM32单片机学习笔记

    51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记...

    PHP学习笔记之自定义函数

    总的来说,这篇“PHP学习笔记之自定义函数”会帮助初学者理解并掌握自定义函数的创建和使用,对于进阶开发者来说,也可能会涉及更复杂的主题,如递归函数、闭包、匿名函数等,这些都是在PHP开发中不可或缺的知识点。

    当年我学PHP时整理的学习笔记

    1. **常用函数.php**:这部分内容可能包含了PHP中的常用内置函数,如数组操作函数(array_*)、字符串处理函数(str_*)和文件操作函数(file_*)等,这些都是PHP编程中不可或缺的基础工具。 2. **批量把座標轉成...

    python3内置函数学习笔记

    个人学习所用,对python3内置函数以及面向对象等思想的整理所得

    C++学习笔记--函数指针

    C++学习笔记--函数指针 函数指针 程序运行期间。每个函数都会占用一段连续的内存空间。而函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。我们可以将函数入口地址赋给一个指针变量,使该指针变量...

    PHP学习笔记、PHP实例

    ### PHP学习笔记与实例解析 #### 第一章:PHP高级语法与功能 ##### PHP的`date()`函数 `date()`函数是PHP中用于格式化日期和时间的强大工具。它可以将Unix时间戳转换成人类可读的日期和时间格式。这个函数有两个...

    PHP语言基础学习笔记-php函数大全笔记

    - **函数**:PHP提供了大量的内置函数,如字符串处理、数组操作、日期时间等。 - **数组**:非常强大的数据结构,分为索引数组和关联数组两种形式。 5. **数据库交互**: - **MySQL**:最常用的数据库之一,PHP...

    c语言学习笔记劫持函数劫持函数.docx

    "C语言学习笔记劫持函数" C语言学习笔记劫持函数是关于使用C语言实现函数劫持的笔记。函数劫持是指在程序运行时,动态地替换或修改函数的行为,以达到特定的目的。在这个笔记中,我们将使用Detours库来实现函数劫持...

    C++学习笔记--函数

    **C++学习笔记--函数** 在C++编程中,函数是一种可重用的代码块,它执行特定的任务并可能接收参数、返回值或两者都有。本笔记将深入探讨C++中的函数,包括它们的定义、调用、参数传递以及如何在实际编程中有效地...

    python高阶函数心得笔记,python高阶函数知识.doc

    map 函数是 Python 中的一个内置函数,用于将列表里的每一项数据都执行相同的操作。我们可以使用 map 函数来对列表里的元素进行处理,例如,计算每个学生的平均分。 8. reduce 函数 reduce 函数是 Python 中的一个...

    Java软件开发魔典资源库 学习笔记

    Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件...

    php二次开发学习笔记

    学习笔记php二次开发学习笔记 php二次开发学习笔记 php二次开发学习笔记

    Eclipse插件开发学习笔记全篇+源码.rar

    本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...

    php框架学习笔记.doc

    PHP框架学习笔记 PHP框架学习笔记是学习PHP框架的重要笔记,涵盖了CI框架的基本概念、控制器、模型、视图、URI路由、数据库操作、表单提交、上传文件、Session管理等方面的知识点。 CI框架的业务流程是从域名或...

    eclipse插件开发学习笔记PDF_01

    《Eclipse插件开发学习笔记》PDF 高清版

    软件开发学习笔记

    这份"软件开发学习笔记"涵盖了多个编程语言和技术领域,如C#、Delphi、VB.NET以及DLL库的开发,还包含了ICCO Development Help的相关资料,旨在帮助学习者深入理解软件开发的核心概念和实践技巧。 首先,C#是一种...

    损失函数学习笔记

    【损失函数学习笔记】 损失函数是机器学习和深度学习中至关重要的组成部分,它衡量了模型预测结果与实际数据之间的偏差。损失函数的选择和设计直接影响着模型的训练效果和泛化能力。本文主要从基础概念出发,对损失...

    Eclipse插件开发学习笔记

    学习笔记\开发学习笔记\插件\Eclipse插件开发学习笔记

Global site tag (gtag.js) - Google Analytics