`
wangyalei
  • 浏览: 53954 次
  • 性别: 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笔记PHP 函数

    PHP提供了大量的内置函数,用于各种常见的任务,如字符串处理、数组操作、文件系统操作等。例如: 1. 工具函数:`strlen()`用于获取字符串长度,`str_replace()`用于替换字符串中的特定部分。 ```php $str = ...

    当年我学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 中的一个...

    oracle 分析函数学习笔记

    总的来说,熟悉和掌握Oracle的分析函数对于开发人员来说非常重要,特别是在开发需要高效数据分析的报表系统时。虽然这种方法绑定到Oracle数据库,但如果项目确定使用Oracle,那么利用其特性可以显著提高开发效率和...

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

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

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

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

    php二次开发学习笔记

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

    lwip的回调函数学习笔记与相关函数释疑

    lwip的回调函数学习笔记与相关函数释疑 lwip 是一个轻量级的TCP/IP协议栈,广泛应用于嵌入式系统中。在lwip中,回调函数是一种重要的机制,用于处理网络事件和数据传输。本文将详细介绍lwip的回调函数学习笔记与...

    php框架学习笔记.doc

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

    eclipse插件开发学习笔记PDF_01

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

    软件开发学习笔记

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

Global site tag (gtag.js) - Google Analytics