php基础部分

来源:互联网 发布:php和mysql web 编辑:程序博客网 时间:2024/05/22 12:27

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)) {
        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 )

此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页

<?php
echo '<a href="mycgi?foo='urlencode($userinput), '">';
?>

4.定义常量

<?php 

//常量
define("content",'123');
echo content;
?>

5.else if

在同一个if 结构中可以有多个 elseif 语句

<?php
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(i<10)打印的也是10,最终i=11
8.switch()
<?phpif ($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
//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() 例子< ?phpecho ceil(4.3); // 5echo ceil(9.999); // 10?>二、floor — 舍去法取整说明float floor ( float value )返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为float 值的范围通常比 integer 要大。例子 1. floor() 例子< ?phpecho floor(4.3); // 4echo floor(9.999); // 9?>三、round — 对浮点数进行四舍五入说明float round ( float val [, int precision] )返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision也可以是负数或零(默认值)。例子 1. round() 例子< ?phpecho round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4echo round(3.6, 0); // 4echo round(1.95583, 2); // 1.96echo round(1241757, -3); // 1242000echo round(5.045, 2); // 5.05echo round(5.055, 2); // 5.06?>四、intval—对变数转成整数型态例子intval()< ?phpecho intval(4.3); //4echo intval(4.6); // 4?>
原创粉丝点击