- 浏览: 53695 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
wangyalei:
phpgood 写道嗯嗯,挺全面的,但正则是很容易忘记的!我想 ...
php学习笔记(正侧表达式一) -
phpgood:
期待你分享更多的学习笔记!
php学习笔记(魔术方法的使用) -
phpgood:
好!
php学习笔记(魔术方法的使用) -
phpgood:
嗯嗯,挺全面的,但正则是很容易忘记的!我想问的是怎样才能比较牢 ...
php学习笔记(正侧表达式一) -
gryphone:
干嘛 吃素 这样人家会怀疑你的体质的 00X
最牛软件开发人员----自我评价
为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前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() 返回对应于给定主机名的主机信息。
- ini_set(string varname, string newvalue ) : //设定环境配置的参数
- ini_get(string varname) : //获取环境配置的参数
ini_set(string varname, string newvalue ) : //设定环境配置的参数 ini_get(string varname) : //获取环境配置的参数
PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。
就是能够设置php.ini中的选项值比如,display_error选项关闭 了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用PHP ini_set函数:
ini_set('display_errors', 'On');
那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。
如果你需要增加脚本执行时间,那么可以设置:
ini_set('max_execution_time', '180');
那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用set_time_limit()来设置。
其实你把PHP ini_set函数和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:
ini_set('include_path',ini_get('include_path').':/your_include_dir:');
PHP配置函数ini_get()相信很多人都使过,就是获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。
比如手册中的例子:
<?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 /* 字符串过滤函数 */ function stringFilter($str) { if (ini_get('magic_quotes_gpc)') { return $str; } else { return addslashes($str); } } ?>
当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:
<?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() 函数如何对待这样的冲突。
本函数返回成功设置的变量数
发表评论
-
php学习笔记(正侧表达式一)
2010-08-29 22:55 1270字符 说明 ^ ... -
php学习笔记(魔术方法的使用)
2010-08-26 20:34 10841 __construct().当实例 ... -
目录操作
2010-08-23 15:31 0皆さんこんにちは、まず自己紹介させていただき、私は第1事業部の ... -
php学习笔记(日期函数用法总结)
2010-08-22 13:36 1343php中对时间日期的处理时相对简单的,php中提供了date ... -
php学习笔记(数组函数用法总结)
2010-08-21 11:24 0array -
php学习笔记(预防session拦截)
2010-08-20 21:21 0拦截 -
php学习笔记(异常处理)
2010-08-20 15:10 0exception -
php学习笔记(过滤器)
2010-08-20 14:29 0过滤器 -
php学习笔记(国际化)
2010-08-20 14:00 0国际化 -
php学习笔记(防sql注入)
2010-08-20 13:59 0sql注入 -
php学习笔记(数字函数用法总结)
2010-08-20 13:53 0数字 -
php学习笔记(上传与下载类)
2010-08-19 21:30 1312php中的文件上传很简单 不像java 中需要借助 commo ... -
php学习笔记(序列化应用)
2010-08-18 10:22 747//php中的序列化 //大部分用与 处理数组传递,数组存库 ... -
php学习笔记(搜索引擎)
2010-08-17 21:34 0搜索引擎 -
php学习笔记(反射机制)
2010-08-17 21:00 0反射 -
php学习笔记(仿百度分页类)
2010-08-17 20:59 2299本类能够实现像百度、谷歌一样的分页效果 ***** ... -
php学习笔记(php.inc的配置详解)
2010-08-15 11:45 1189学习php 先要了解一下php的配置 对以后的学习很有帮助 , ... -
php学习笔记(svs)
2010-08-15 11:41 0svd -
php学习笔记(字符过滤类)
2010-08-15 00:55 0过滤 -
php学习笔记(HTTP认证)
2010-08-14 13:20 0http
相关推荐
学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习笔记简述51单片机延时函数学习...
51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记51单片机C语言延时函数STM32单片机学习笔记...
总的来说,这篇“PHP学习笔记之自定义函数”会帮助初学者理解并掌握自定义函数的创建和使用,对于进阶开发者来说,也可能会涉及更复杂的主题,如递归函数、闭包、匿名函数等,这些都是在PHP开发中不可或缺的知识点。
PHP提供了大量的内置函数,用于各种常见的任务,如字符串处理、数组操作、文件系统操作等。例如: 1. 工具函数:`strlen()`用于获取字符串长度,`str_replace()`用于替换字符串中的特定部分。 ```php $str = ...
1. **常用函数.php**:这部分内容可能包含了PHP中的常用内置函数,如数组操作函数(array_*)、字符串处理函数(str_*)和文件操作函数(file_*)等,这些都是PHP编程中不可或缺的基础工具。 2. **批量把座標轉成...
个人学习所用,对python3内置函数以及面向对象等思想的整理所得
C++学习笔记--函数指针 函数指针 程序运行期间。每个函数都会占用一段连续的内存空间。而函数名就是该函数所占内存区域的起始地址(也称“入口地址”)。我们可以将函数入口地址赋给一个指针变量,使该指针变量...
### PHP学习笔记与实例解析 #### 第一章:PHP高级语法与功能 ##### PHP的`date()`函数 `date()`函数是PHP中用于格式化日期和时间的强大工具。它可以将Unix时间戳转换成人类可读的日期和时间格式。这个函数有两个...
- **函数**:PHP提供了大量的内置函数,如字符串处理、数组操作、日期时间等。 - **数组**:非常强大的数据结构,分为索引数组和关联数组两种形式。 5. **数据库交互**: - **MySQL**:最常用的数据库之一,PHP...
"C语言学习笔记劫持函数" C语言学习笔记劫持函数是关于使用C语言实现函数劫持的笔记。函数劫持是指在程序运行时,动态地替换或修改函数的行为,以达到特定的目的。在这个笔记中,我们将使用Detours库来实现函数劫持...
**C++学习笔记--函数** 在C++编程中,函数是一种可重用的代码块,它执行特定的任务并可能接收参数、返回值或两者都有。本笔记将深入探讨C++中的函数,包括它们的定义、调用、参数传递以及如何在实际编程中有效地...
lwip的回调函数学习笔记与相关函数释疑 lwip 是一个轻量级的TCP/IP协议栈,广泛应用于嵌入式系统中。在lwip中,回调函数是一种重要的机制,用于处理网络事件和数据传输。本文将详细介绍lwip的回调函数学习笔记与...
map 函数是 Python 中的一个内置函数,用于将列表里的每一项数据都执行相同的操作。我们可以使用 map 函数来对列表里的元素进行处理,例如,计算每个学生的平均分。 8. reduce 函数 reduce 函数是 Python 中的一个...
Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件开发魔典资源库 学习笔记 Java软件...
学习笔记php二次开发学习笔记 php二次开发学习笔记 php二次开发学习笔记
本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...
PHP框架学习笔记 PHP框架学习笔记是学习PHP框架的重要笔记,涵盖了CI框架的基本概念、控制器、模型、视图、URI路由、数据库操作、表单提交、上传文件、Session管理等方面的知识点。 CI框架的业务流程是从域名或...
《Eclipse插件开发学习笔记》PDF 高清版
这份"软件开发学习笔记"涵盖了多个编程语言和技术领域,如C#、Delphi、VB.NET以及DLL库的开发,还包含了ICCO Development Help的相关资料,旨在帮助学习者深入理解软件开发的核心概念和实践技巧。 首先,C#是一种...
【损失函数学习笔记】 损失函数是机器学习和深度学习中至关重要的组成部分,它衡量了模型预测结果与实际数据之间的偏差。损失函数的选择和设计直接影响着模型的训练效果和泛化能力。本文主要从基础概念出发,对损失...