PHP网页编程之透析PHP的设置装备摆设文件
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。 明天,咱们来侃侃PHP.INI文件中的一些风趣的内容吧。PHP.INI文件信任每位PHP喜好者都不会生疏,在PHP的上一个版本PHP3.0中它被定名为PHP3.INI。用NOTEPAD翻开它,文件凡是在操作体系的Windows目次下。人人都看到,PHP.INI文件外面有良多分号“”,和Windows体系一样,这些分号用来暗示注解,也就是说为了设置装备摆设文件明晰易懂,开辟者在分号前面对每一个设置装备摆设功效做了冗长申明,体系处置时会疏忽这些注解行。固然,别的一个优点是,当PHP体系设置装备摆设有变更的时分,咱们可以对某些行加上或去失落注解就好了,复杂又便利。
auto_prepend_file string 可以指定一个文件主动地在读取一切php文件之前解析履行,可觉得PHP、ASP、HTML等任何文件(不外图象文件可不可),在特别时分却是很有效。好比你想在每一个PHP页面上增添一段告白,又假定你在开辟一个网站,想让一切会见者在读取任何PHP页面之行进行身份验证,你就能够把你的验证代码作成独自文件,然后在这里设置string为该文件名就行啦。仔细的读者要问了:假如我只是某些文件需求这些功效,可怎样办呀,开动头脑吧,举个例子:
myprefix.php文件
<?php
if (strstr(strtoupper( PHP_SELF),"/PHPTEST/"))
echo "我的告白!<BR>";
?>
如许只需设置:auto_prepend_file=“myprefix.php”,那末一切phptest目次下的PHP文件就都包括你的告白头啦!还需求申明的是这个文件应当放在include_path所指的途径外面,否则能够会失足的,上面就会提到它。
auto_append_file string 和下面功效相似,只是主动加在PHP文件末尾,并且PHP法式用exit()加入时就不论用了。有了这个功效,咱们可以轻而易举地添加公司地址的脚注了!
include_path string 这个参数的感化是让include()、require()等函数在这里所界说的途径中查找文件,是否是有点象DOS时期里用的SET PATH号令?这个参数可以供应一个途径列表,不外在UNIX中途径间用冒号分隔,在NT顶用分号,并且斜杠的偏向也不不异。如:
UNIX例:include_path=.:/home/lib
NT 例:include_path=".:c:\home\lib" 个中“.”暗示以后目次。
gpc_order string
GPC是GET/POST/COOKIE三种变量的第一个字母,它的按次表现体系处置三种变量的优先级别,从左到右,优先权顺次递增。默许设置为GPC,如许当有个中任两种或三种称号不异变量传递到办事器时,体系会按优先权排序,只读取优先权较高的变量。又好比设定成 “GP” 暗示无视 cookie,并在存取办法 (method) 不异时,以 POST 代替GET。固然,咱们在编程过程当中应该尽可能防止同时用分歧的体例传递称号不异的变量,不然法式的可读性会变坏,并且在设置装备摆设分歧的体系里能够会有分歧的输入了局。
magic_quotes_gpc boolean 这个参数能肯定包括在GET/POST/COOKIE这三种变量中的特别字符:单引号、双引号、斜杠,是不是加本义字符反斜杠(就是C言语里经常使用的“\”)?由于在PHP数据库等体系中,单引号等字符凡是有特别意义,为了和真实的字符辨别,咱们可以设置magic_quotes_gpc=on,如许假如咱们从用户端失掉的变量中有单引号时,会在后面加本义符,然后咱们可以依据需求用函数stripslashes(string str);(该函数可去失落字串中的反斜杠本义符“\”。若是一连二个反斜杠,则去失落一个,留下一个。若只要一个反斜杠,就直接去失落。)往来来往失落本义符“\”,咱们可以对照一下:
<form>
<input type="Text" value="" name="a">
<input type="Submit">
</form>
<?php
echo a;
?>
让咱们分离在magic_quotes_gpc=on和off的情形下,在文本框中输出单引号、双引号,然后提交,看看有甚么区分?
SMTP string 指定邮件发送办事器的域名或IP地址,如许咱们就能够发信啦,比起微软的ASP来,PHP的这个功效复杂便利很多了,有人要问,假如我没有装备邮件办事器怎样办?很复杂,只需填受骗地ISP的邮件办事器就好了。其实收发邮件办事器就像咱们实际生涯中的邮局一样,在哪一个邮局都能发信,而收信是在固定邮局。
mysql.default_host string
mysql.default_user string
mysql.default_password string
用过ODBC的读者们都晓得,设置ODBC的时分总需求设置数据库地点及其默许的登录用户名和口令,这几个参数也是这个意思,不外是用在MYSQL外面而已。为了平安起见,咱们还有需要在MYSQL里对该用户的权利做一些限制,万万不要偷懒用“root“啊!假如为了便利而设置了这些参数,那咱们就可以直接用函数mysql_connect()来毗连数据库了,注重这里可以不必任何参数!
人人能够在想,固然如许很便利,同时也很风险呀!别急,在PHP的平安形式里这些参数是有效的,上面咱们来看看平安形式的设置吧。
Safe mode boolean 这可不是WINDOWS 98的平安形式啊。当PHP体系处于平安形式下时,咱们就可以对PHP法式的行动停止必定的掌握,这时候候一些数据库好比MYSQL、INFOMIX等的默许数据库主机、用户名、口令等设置有效,不法用户就不克不及等闲毗连数据库了。并且在平安形式下safe_mode_allowed_env_vars string该项设置暗示甚么类型的体系情况变量可以被法式更改,若设置成safe_mode_allowed_env_vars=PHP_则暗示只要PHP_打头的体系情况变量可以被修正,例如这时候假如在法式中妄图利用putenv("windir=UUU");来修正情况变量,体系就会提醒一个平安形式的回护毛病。还有,平安形式对体系号令system()等有必定限制,如只能在指定目次运转等,如许能对体系文件有必定的回护感化。
log_errors boolean 这个参数指定PHP法式失足时是不是要将毛病信息纪录在 LOG文档中。在NT体系中假如咱们同时设置error_log =syslog的话,咱们就可以在事务检查器的使用法式日记里看到PHP所产生过的毛病信息,这对测试一个大型的体系有些匡助。
error_prepend_string = "<font color=ff0000>"
error_append_string = "</font>"
这两个设置参数更成心思啦,按如上设置,那末咱们一眼就可以看到:咱们的法式是不是失足了!由于他的功效是把失足信息设置成显眼的朱颜色了。
至于其它的良多选项,有的一看便知,有乐趣人人本人尝尝吧!
开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 当然这种网站的会员费就几十块钱。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
页:
[1]
2