一些php技巧与注意事项分析

yipeiwu_com6年前PHP代码库
从浏览器上看,使用 header(location) 就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西给执行了。
如:
复制代码 代码如下:

if(true)
{
header('location://www.jb51.net');
}
file_put_contents('test.txt', 'ok');

这个代码中,粗心的程序员会以为 header('location://www.jb51.net'); 就over了,事实上,后台的代码却仍然被执行了,所以使用 header(location) 的时候,不管是封装在另一个函数还是直接写的,都建议在后面加 exit() 确认程序中止。
====soap
今天运行一个demo代码,出现了“Class 'SoapClient' not found”错误。搜索了一下,需要启动soap服务,但是在php.ini的Windows Extensions里面没有找到soap.dll,一开始还以为我的php版本没有包含这个dll,到php安装目录下的ext子目录看了一下,发现php_soap.dll是存在的。那就简单了,直接添加extension=php_soap.dll到Windows Extensions部分,重启动apache就好了。
ssl默认也是不启动的,extension=php_openssl.dll,可以在这里将它前面";"去掉就好了。
复制代码 代码如下:

var_dump( $query );//把结果当成文本打印出来查看
$GLOBALS //保存所有全局变量(只在当前页面中的)
get_defined_vars() //返回由所有已定义变量所组成的数组(包括全局变量,超全局变量等)
get_defined_constants() //返回由所有已定义常量所组成的数组

相关文章

浅析php与数据库代码开发规范

1、PHP中对各类变量内容的命名规范  (1)目录命名、文件命名、局部变量命名: 使用英文名词、动词,以下划线作为单词的分隔,所有字母均使用小写 目录:upload、templ...

php中time()与$_SERVER[REQUEST_TIME]用法区别

php中time()与$_SERVER[REQUEST_TIME]用法区别

本文实例详细讲述了php中time()与$_SERVER[REQUEST_TIME]用法的区别。分享给大家供大家参考。具体分析如下: 简单的说time()与$_SERVER["REQUE...

教你在header中隐藏php的版本信息

前言 在php渲染的网页header信息中,会包含php的版本号信息,比如: X-Powered-by: php/5.3.3,这有些不安全,有些黑客可能采用扫描的方式,批量寻找低版本的p...

php生成过去100年下拉列表的方法

本文实例讲述了php生成过去100年下拉列表的方法。分享给大家供大家参考。具体如下: 项目中经常会用到年份选择,这段代码自动生成从今年开始的过去100年的下拉列表 <selec...

PHP实现操作redis的封装类完整实例

本文实例讲述了PHP实现操作redis的封装类。分享给大家供大家参考,具体如下: <?php /** * Redis 操作,支持 Master/Slave 的负载集群...