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