php基础部分
1.dirname() 函数返回路径中的目录部分。 ?php echo dirname(c:/testweb/home.php); echo dirname(/testweb/home.php); ? 输出: c:/testweb /testweb 2. is_scalar — 检测变量是否是一个标量 ?php function show_var ( $var ){ if( is_scalar ( $var )){ ec
1.dirname() 函数返回路径中的目录部分。
echo dirname("c:/testweb/home.php");echo dirname("/testweb/home.php");
?>
输出:
c:/testweb
/testweb
2. is_scalar — 检测变量是否是一个标量
function show_var($var) {
if (is_scalar($var)) {
echo $var;
} else {
var_dump($var);
}
}
$pi = 3.1416;
$proteins = array("hemoglobin", "cytochrome c oxidase", "ferredoxin");
show_var($pi);
// 打印:3.1416
show_var($proteins)
// 打印:
// array(3) {
// [0]=>
// string(10) "hemoglobin"
// [1]=>
// string(20) "cytochrome c oxidase"
// [2]=>
// string(10) "ferredoxin"
// }
?>
3.urlencode — 编码 URL 字符串
string urlencode ( string $str
)
echo '';
?>
4.定义常量
//常量
define("content",'123');
echo content;
?>
5.else if
在同一个if
结构中可以有多个 elseif 语句
if ($a
> $b) {
echo "a is bigger than b";
} elseif ($a ==$b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
?>
6.while()
while (expr){ statement
}
while 语句的含意很简单,它告诉 PHP 只要 while 表达式的值为 TRUE 就重复执行嵌套中的循环语句
7.do ……while()
do-while是先执行,再判断 int i=10; do{ System.err.println(i) i++; }while(i8.switch()if ($i == 0) { echo "i equals 0"; } elseif ($i == 1) { echo "i equals 1"; } elseif ($i == 2) { echo "i equals 2"; } switch ($i) { case 0: echo "i equals 0"; break; case 1: echo "i equals 1"; break; case 2: echo "i equals 2"; break; } ?>
9.
require() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。include() 就不是这样,脚本会继续运行。
10.file_put_contents() 函数把一个字符串写入文件中。
与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
11.防止sql注入
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和
双"-"进行转换等。用户的输入必须进行过滤
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。
12.register_global()
顾名思义,register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。所以,碰到上边那些无法得到值的问题的朋友应该首先检查一下你的register_globals的设置和你获取值的方法是否匹配。(查看可以用phpinfo()函数或者直接查看php.ini)
13.php 复制函数 copy()
//php copy()函数 // 复制文件内容 ,需要在本地建立example.txt文件和example.txt.bak文件 $file = 'example.txt'; //源文件 $newfile = 'example.txt.bak'; //需要复制的文件 if (!copy($file, $newfile)) { // 将文件example的内容复制到example.txt.bak文件中 echo "failed to copy $file... "; } exit(); ?>
14.
一、ceil — 进一法取整 说明 float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float值的范围通常比 integer 要大。 例子 1. ceil() 例子 二、floor — 舍去法取整 说明 float floor ( float value ) 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为float 值的范围通常比 integer 要大。 例子 1. floor() 例子 三、round — 对浮点数进行四舍五入 说明 float round ( float val [, int precision] ) 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision也可以是负数或零(默认值)。 例子 1. round() 例子 四、intval—对变数转成整数型态 例子intval()