细说PHP

[复制链接]

4

主题

93

帖子

3205

积分

超级月卡

Rank: 7Rank: 7Rank: 7

积分
3205
发表于 7 天前 | 显示全部楼层 |阅读模式
本帖最后由 why 于 2020-9-13 12:27 编辑

我们先来看个入门的PHP,死磕这玩意,虽然PHP and MySQL web development比较不容易看懂,但还是学到了不少东西,比如PHP的语法和变量这些都多少有些了解了,我们学点基础先

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

4

主题

93

帖子

3205

积分

超级月卡

Rank: 7Rank: 7Rank: 7

积分
3205
 楼主| 发表于 7 天前 | 显示全部楼层
本帖最后由 why 于 2020-9-14 21:01 编辑

本书第1章介绍了Apache,MySQL,PHP的关系以及发展历程,它们是怎么配合的,大致的工作流程.第2章介绍了怎么安装环境,第3章介绍的基本操作符,基本语法,变量这些最基本的常识性概念.这些都是比较基础的,当然对于没有接触过的新手,确实是非常友好的,起码能了解PHP在环境中充当的什么角色,也能搭建个环境出来要到第7章才能接触到面向对象,看到这一章的时候再详细的记录吧,
写个乘法口诀表:
  1. echo "<br>";
  2. for($i=1;$i<=9;$i++)
  3. {
  4.     for($j=1;$j<=$i;$j++)
  5.         {
  6.                 if($j*$i<10){
  7.                         echo "$j"."x"."$i=&nbsp;".$j*$i."&nbsp;&nbsp;&nbsp;";
  8.                 }else{
  9.                         echo "$j"."x"."$i=".$j*$i."&nbsp;&nbsp;&nbsp;";
  10.                 }
  11.                
  12.         }
  13.         echo "<br />";
  14. }  
复制代码

输出如下:
  1. 1x1= 1   
  2. 1x2= 2   2x2= 4   
  3. 1x3= 3   2x3= 6   3x3= 9   
  4. 1x4= 4   2x4= 8   3x4=12   4x4=16   
  5. 1x5= 5   2x5=10   3x5=15   4x5=20   5x5=25   
  6. 1x6= 6   2x6=12   3x6=18   4x6=24   5x6=30   6x6=36   
  7. 1x7= 7   2x7=14   3x7=21   4x7=28   5x7=35   6x7=42   7x7=49   
  8. 1x8= 8   2x8=16   3x8=24   4x8=32   5x8=40   6x8=48   7x8=56   8x8=64   
  9. 1x9= 9   2x9=18   3x9=27   4x9=36   5x9=45   6x9=54   7x9=63   8x9=72   9x9=81  
复制代码


变量函数也称为可变函数,如果一个变量名后有圆括号,PHP将寻找与变量值通码的函数,并且将尝试执行它
  1. <?php
  2. function one($a,$b){
  3.         return $a+$b;
  4. }
  5. function two($a,$b){
  6.         return $a*$b+$b*$b;
  7. }
  8. function three($a,$b){
  9.         return $a*$a*$a+$b*$b*$b;
  10. }

  11. echo "运算结果是:".$result(2,3);    //本行显示错误,说明调用变量函数只能寻找到本函数的上边一条赋值结果
  12. $result="one";                             //以字符串形式形式把函数赋值给变量$result,$result()寻址字符串名称的函数进行调用
  13. echo "运算结果是:".$result(2,3);   //本行输出调用one()结果
  14. $result="two";
  15. echo "运算结果是:".$result(2,3);    //本行输出调用two()结果
  16. $result="three";

  17. echo "运算结果是:".$result(2,3);    //本行输出调用three()结果,若干上边3条echo不存在,依然只输出three()的结果,证明变量函数只能调用它上边的第一条函数                 
  18. ?>
复制代码


可以使用变量函数实现回调函数
  1. <?php
  2. echo "<br>";
  3. function filter($fun){                 
  4.         for($i=0;$i<=20;$i++){
  5.                 if($fun($i))                  //调用函数,将$i的值传递给函数;
  6.                         continue;                //如果函数返回的值为turn,执行跳出本次循环
  7.                 echo $i."\n";                //否则输出$i
  8.         }
  9.         echo ";"."<br>";
  10. }       

  11. function one($num){
  12.         return $num%3==0;                   //取余,余数为0返回trun,否则返回false
  13. }

  14. function two($num){
  15.         return $num!=strrev($num);          //strrev()倒序输出字符串,如果数值被倒序输出后不相等返回turn,否则返回false
  16. }

  17. filter("one");                   //调用filter函数,将变量函数传递给函数
  18. filter('two');
  19. ?>
复制代码

输出结果:
1 2 4 5 7 8 10 11 13 14 16 17 19 20 ;
0 1 2 3 4 5 6 7 8 9 11 ;

回复

使用道具 举报

4

主题

93

帖子

3205

积分

超级月卡

Rank: 7Rank: 7Rank: 7

积分
3205
 楼主| 发表于 5 天前 | 显示全部楼层
看到第10章了,这本书确实比较简单,当然应该是先看了一遍PHP and MySQL web development的缘故,基本的语法都能看得懂了,开始看第10章"文件处理系统"还是老规矩记录一下
回复

使用道具 举报

4

主题

93

帖子

3205

积分

超级月卡

Rank: 7Rank: 7Rank: 7

积分
3205
 楼主| 发表于 前天 17:57 | 显示全部楼层
文件上传与下载
  1. <HTML>
  2.     <head><title>文件上传</title></head>
  3.     <body>
  4.         <form action="upload.php" method="post" enctype="multipart/form-data">
  5.             <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  6.                 选择文件:<input type="file" name="myfile">
  7.                 <input type="submit" value="上传文件">
  8.         </form>
  9.     </body>
  10. </html>
复制代码



以下文件保存为upload.php
  1. <?php
  2. $allowtype=array("gif","png","jpg");                   //设置允许上传的文件类型
  3. $size=1000000;                                                //限制上传文件大小为1M
  4. $path="./updoads";                                          //设置上传后保存文件的路径

  5. if($_FILES['myfile']['error']>0){                          //判断文件是否可以成功上传到服务器,为0上传成功,否则失败
  6.         echo'上传错误:';
  7. switch($_FILES['myfile']['error']){                       //错误类型
  8.         case 1:die('上传文件超出了PHP配置文件中的约定值:upload_max_filesize');
  9.         case 2:die('上传文件大小超出了表单中的约定值:MAX_FILE_SIZE');
  10.         case 3:die('文件只被部分上载');
  11.         case 4:die('没有上传任何文件');
  12.         default:die('未知错误');
  13.    }       
  14. }

  15. $hz=array_pop(explode(".",$_FILES['myfile']['name']));            
  16. if(!in_array($hz,$allowtype)){                                                  //通过文件后缀名判断上传的文件是否为允许的文件类型
  17.         die("这个后缀是<b>{$hz}<b>,不是允许的文件类型!");
  18. }

  19. if($_FILES['myfile']['name']>$size){                                         //通过文件名判断是否为允许大小
  20.         die("超过了允许的<b>{$size}<b>字节大小");
  21. }

  22. $filename=date("YmdHis").rand(100,999).".".$hz;                    //为了系统安全,也为了同名文件不会被覆盖,上传后将文件名使用系统自定义

  23. if(is_uploaded_file($_FILES['myfile']['tmp_name'])){                 //判断是否为上传文件,特别注意win服务器的tmp_name必须更换成绝对地址
  24.         if(!move_uploaded_file($_FILES['myfile']['tmp_name'],$path.'/'.$filename)){          //这里得tmp_name也要改成绝对地址
  25.                 die('问题:不能将文件移动到指定目录.');
  26.         }
  27.         else{
  28.                 die("问题:上传文件{$_FILES['myfile']['name']}不是一个合法文件:");
  29.         }

  30. }
  31. echo "文件${$upfile}上传成功,保存在目录{$path}中,大小为{$_FILES['myfile']['size']}字节";        //如果文件属于合法上传文件,移动到相应位置并输出提示
  32. ?>
复制代码

执行后输出结果:
文件上传成功,保存在目录./updoads中,大小为5073字节

需要在服务器根目录下新建updoads文件目录,临时文件存储(tmp_name)目录,并给两个目录文件Everyone设置读写权限,特别注意win服务器的
if(is_uploaded_file($_FILES['myfile']['tmp_name']))代码中['tmp_name']必须是绝对地址才行,按照书本上的写法这段代码一直保存

处理多个文件上传
  1. <HTML>
  2.     <head><title>文件上传</title></head>
  3.     <body>
  4.         <form action="upload.php" method="post" enctype="multipart/form-data">
  5.             <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  6.                 选择文件1:<input type="file" name="myfile[]">
  7.                         <!--选择文件2:<input type="file" name="myfile[]">
  8.                         选择文件3:<input type="file" name="myfile[]">-->
  9.                 <input type="submit" value="上传文件">
  10.         </form>
  11.     </body>
  12. </html>
复制代码

使用print_r($_FILES);输出后得到一个多维数组如下:
  1. Array (
  2.     [myfile] => Array (
  3.            [name] => Array ( [0] => c31db1aac05184384616551c7ca37a46.png
  4.                                        [1] => logo.png
  5.                                        [2] => timg.jpg )
  6.              [type] => Array ( [0] => image/png
  7.                                        [1] => image/png
  8.                                        [2] => image/jpeg )
  9.     [tmp_name] => Array ( [0] => C:\WINDOWS\php9740.tmp
  10.                                        [1] => C:\WINDOWS\php9741.tmp
  11.                                        [2] => C:\WINDOWS\php9742.tmp )
  12.             [error] => Array ( [0] => 0
  13.                                        [1] => 0
  14.                                        [2] => 0 )
  15.               [size] => Array ( [0] => 6448
  16.                                        [1] => 5073
  17.                                        [2] => 7064 ) ) )
复制代码

拆分以上二维数组后,就可以处理多文件同时上传的问题

文件下载:               
  1. <?php
  2. $filename="test.gif";                           
  3. header('content-type:image/gif');                                                             //指定下载文件类型
  4. header('content-disposition:attachment;filename="'.$filename.'"');              //指定下载文件的描述
  5. header('content-length:'.filesize($filename));                                            //指定下载文件的大小

  6. readfile($filename);                                                                               //将内容读出并直接下载
  7. ?>
复制代码



回复

使用道具 举报

4

主题

93

帖子

3205

积分

超级月卡

Rank: 7Rank: 7Rank: 7

积分
3205
 楼主| 发表于 昨天 10:54 | 显示全部楼层
本帖最后由 why 于 2020-9-19 11:08 编辑

数组
  • array_change_key_case — 将数组中的所有键名修改为全大写或小写
  • array_chunk — 将一个数组分割成多个
  • array_column — 返回数组中指定的一列
  • array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
  • array_count_values — 统计数组中所有的值
  • array_diff_assoc — 带索引检查计算数组的差集
  • array_diff_key — 使用键名比较计算数组的差集
  • array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集
  • array_diff_ukey — 用回调函数对键名比较计算数组的差集
  • array_diff — 计算数组的差集
  • array_fill_keys — 使用指定的键和值填充数组
  • array_fill — 用给定的值填充数组
  • array_filter — 用回调函数过滤数组中的单元
  • array_flip — 交换数组中的键和值
  • array_intersect_assoc — 带索引检查计算数组的交集
  • array_intersect_key — 使用键名比较计算数组的交集
  • array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
  • array_intersect_ukey — 用回调函数比较键名来计算数组的交集
  • array_intersect — 计算数组的交集
  • array_key_exists — 检查数组里是否有指定的键名或索引
  • array_key_first — 获取指定数组的第一个键值
  • array_key_last — 获取一个数组的最后一个键值
  • array_keys — 返回数组中部分的或所有的键名
  • array_map — 为数组的每个元素应用回调函数
  • array_merge_recursive — 递归地合并一个或多个数组
  • array_merge — 合并一个或多个数组
  • array_multisort — 对多个数组或多维数组进行排序
  • array_pad — 以指定长度将一个值填充进数组
  • array_pop — 弹出数组最后一个单元(出栈)
  • array_product — 计算数组中所有值的乘积
  • array_push — 将一个或多个单元压入数组的末尾(入栈)
  • array_rand — 从数组中随机取出一个或多个单元
  • array_reduce — 用回调函数迭代地将数组简化为单一的值
  • array_replace_recursive — 使用传递的数组递归替换第一个数组的元素
  • array_replace — 使用传递的数组替换第一个数组的元素
  • array_reverse — 返回单元顺序相反的数组
  • array_search — 在数组中搜索给定的值,如果成功则返回首个相应的键名
  • array_shift — 将数组开头的单元移出数组
  • array_slice — 从数组中取出一段
  • array_splice — 去掉数组中的某一部分并用其它值取代
  • array_sum — 对数组中所有值求和
  • array_udiff_assoc — 带索引检查计算数组的差集,用回调函数比较数据
  • array_udiff_uassoc — 带索引检查计算数组的差集,用回调函数比较数据和索引
  • array_udiff — 用回调函数比较数据来计算数组的差集
  • array_uintersect_assoc — 带索引检查计算数组的交集,用回调函数比较数据
  • array_uintersect_uassoc — 带索引检查计算数组的交集,用单独的回调函数比较数据和索引
  • array_uintersect — 计算数组的交集,用回调函数比较数据
  • array_unique — 移除数组中重复的值
  • array_unshift — 在数组开头插入一个或多个单元
  • array_values — 返回数组中所有的值
  • array_walk_recursive — 对数组中的每个成员递归地应用用户函数
  • array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
  • array — 新建一个数组
  • arsort — 对数组进行逆向排序并保持索引关系
  • asort — 对数组进行排序并保持索引关系
  • compact — 建立一个数组,包括变量名和它们的值
  • count — 计算数组中的单元数目,或对象中的属性个数
  • current — 返回数组中的当前单元
  • each — 返回数组中当前的键/值对并将数组指针向前移动一步
  • end — 将数组的内部指针指向最后一个单元
  • extract — 从数组中将变量导入到当前的符号表
  • in_array — 检查数组中是否存在某个值
  • key_exists — 别名 array_key_exists
  • key — 从关联数组中取得键名
  • krsort — 对数组按照键名逆向排序
  • ksort — 对数组按照键名排序
  • list — 把数组中的值赋给一组变量
  • natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序
  • natsort — 用“自然排序”算法对数组排序
  • next — 将数组中的内部指针向前移动一位
  • pos — current 的别名
  • prev — 将数组的内部指针倒回一位
  • range — 根据范围创建数组,包含指定的元素
  • reset — 将数组的内部指针指向第一个单元
  • rsort — 对数组逆向排序
  • shuffle — 打乱数组
  • sizeof — count 的别名
  • sort — 对数组排序
  • uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
  • uksort — 使用用户自定义的比较函数对数组中的键名进行排序
  • usort — 使用用户自定义的比较函数对数组中的值进行排序
字符串 函数
  • addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符
  • addslashes — 使用反斜线引用字符串
  • bin2hex — 函数把包含数据的二进制字符串转换为十六进制值
  • chop — rtrim 的别名
  • chr — 返回指定的字符
  • chunk_split — 将字符串分割成小块
  • convert_cyr_string — 将字符由一种 Cyrillic 字符转换成另一种
  • convert_uudecode — 解码一个 uuencode 编码的字符串
  • convert_uuencode — 使用 uuencode 编码一个字符串
  • count_chars — 返回字符串所用字符的信息
  • crc32 — 计算一个字符串的 crc32 多项式
  • crypt — 单向字符串散列
  • echo — 输出一个或多个字符串
  • explode — 使用一个字符串分割另一个字符串
  • fprintf — 将格式化后的字符串写入到流
  • get_html_translation_table — 返回使用 htmlspecialchars 和 htmlentities 后的转换表
  • hebrev — 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew)
  • hebrevc — 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew),并且转换换行符
  • hex2bin — 转换十六进制字符串为二进制字符串
  • html_entity_decode — Convert HTML entities to their corresponding characters
  • htmlentities — 将字符转换为 HTML 转义字符
  • htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符
  • htmlspecialchars — 将特殊字符转换为 HTML 实体
  • implode — 将一个一维数组的值转化为字符串
  • join — 别名 implode
  • lcfirst — 使一个字符串的第一个字符小写
  • levenshtein — 计算两个字符串之间的编辑距离
  • localeconv — Get numeric formatting information
  • ltrim — 删除字符串开头的空白字符(或其他字符)
  • md5_file — 计算指定文件的 MD5 散列值
  • md5 — 计算字符串的 MD5 散列值
  • metaphone — Calculate the metaphone key of a string
  • money_format — 将数字格式化成货币字符串
  • nl_langinfo — Query language and locale information
  • nl2br — 在字符串所有新行之前插入 HTML 换行标记
  • number_format — 以千位分隔符方式格式化一个数字
  • ord — 转换字符串第一个字节为 0-255 之间的值
  • parse_str — 将字符串解析成多个变量
  • print — 输出字符串
  • printf — 输出格式化字符串
  • quoted_printable_decode — 将 quoted-printable 字符串转换为 8-bit 字符串
  • quoted_printable_encode — 将 8-bit 字符串转换成 quoted-printable 字符串
  • quotemeta — 转义元字符集
  • rtrim — 删除字符串末端的空白字符(或者其他字符)
  • setlocale — 设置地区信息
  • sha1_file — 计算文件的 sha1 散列值
  • sha1 — 计算字符串的 sha1 散列值
  • similar_text — 计算两个字符串的相似度
  • soundex — Calculate the soundex key of a string
  • sprintf — Return a formatted string
  • sscanf — 根据指定格式解析输入的字符
  • str_getcsv — 解析 CSV 字符串为一个数组
  • str_ireplace — str_replace 的忽略大小写版本
  • str_pad — 使用另一个字符串填充字符串为指定长度
  • str_repeat — 重复一个字符串
  • str_replace — 子字符串替换
  • str_rot13 — 对字符串执行 ROT13 转换
  • str_shuffle — 随机打乱一个字符串
  • str_split — 将字符串转换为数组
  • str_word_count — 返回字符串中单词的使用情况
  • strcasecmp — 二进制安全比较字符串(不区分大小写)
  • strchr — 别名 strstr
  • strcmp — 二进制安全字符串比较
  • strcoll — 基于区域设置的字符串比较
  • strcspn — 获取不匹配遮罩的起始子字符串的长度
  • strip_tags — 从字符串中去除 HTML 和 PHP 标记
  • stripcslashes — 反引用一个使用 addcslashes 转义的字符串
  • stripos — 查找字符串首次出现的位置(不区分大小写)
  • stripslashes — 反引用一个引用字符串
  • stristr — strstr 函数的忽略大小写版本
  • strlen — 获取字符串长度
  • strnatcasecmp — 使用“自然顺序”算法比较字符串(不区分大小写)
  • strnatcmp — 使用自然排序算法比较字符串
  • strncasecmp — 二进制安全比较字符串开头的若干个字符(不区分大小写)
  • strncmp — 二进制安全比较字符串开头的若干个字符
  • strpbrk — 在字符串中查找一组字符的任何一个字符
  • strpos — 查找字符串首次出现的位置
  • strrchr — 查找指定字符在字符串中的最后一次出现
  • strrev — 反转字符串
  • strripos — 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
  • strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
  • strspn — 计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度。
  • strstr — 查找字符串的首次出现
  • strtok — 标记分割字符串
  • strtolower — 将字符串转化为小写
  • strtoupper — 将字符串转化为大写
  • strtr — 转换指定字符
  • substr_compare — 二进制安全比较字符串(从偏移位置比较指定长度)
  • substr_count — 计算字串出现的次数
  • substr_replace — 替换字符串的子串
  • substr — 返回字符串的子串
  • trim — 去除字符串首尾处的空白字符(或者其他字符)
  • ucfirst — 将字符串的首字母转换为大写
  • ucwords — 将字符串中每个单词的首字母转换为大写
  • vfprintf — 将格式化字符串写入流
  • vprintf — 输出格式化字符串
  • vsprintf — 返回格式化字符串
  • wordwrap — 打断字符串为指定数量的字串


类/对象

目录函数
  • chdir — 改变目录
  • chroot — 改变根目录
  • closedir — 关闭目录句柄
  • dir — 返回一个 Directory 类实例
  • getcwd — 取得当前工作目录
  • opendir — 打开目录句柄
  • readdir — 从目录句柄中读取条目
  • rewinddir — 倒回目录句柄
  • scandir — 列出指定路径中的文件和目录

Directory — Directory 类

错误处理 函数

程序执行函数
  • escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数
  • escapeshellcmd — shell 元字符转义
  • exec — 执行一个外部程序
  • passthru — 执行外部程序并且显示原始输出
  • proc_close — 关闭由 proc_open 打开的进程并且返回进程退出码
  • proc_get_status — 获取由 proc_open 函数打开的进程的信息
  • proc_nice — 修改当前进程的优先级
  • proc_open — 执行一个命令,并且打开用来输入/输出的文件指针。
  • proc_terminate — 杀除由 proc_open 打开的进程
  • shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。
  • system — 执行外部程序,并且显示输出


文件系统函数
  • basename — 返回路径中的文件名部分
  • chgrp — 改变文件所属的组
  • chmod — 改变文件模式
  • chown — 改变文件的所有者
  • clearstatcache — 清除文件状态缓存
  • copy — 拷贝文件
  • delete — 参见 unlink 或 unset
  • dirname — 返回路径中的目录部分
  • disk_free_space — 返回目录中的可用空间
  • disk_total_space — 返回一个目录的磁盘总大小
  • diskfreespace — disk_free_space 的别名
  • fclose — 关闭一个已打开的文件指针
  • feof — 测试文件指针是否到了文件结束的位置
  • fflush — 将缓冲内容输出到文件
  • fgetc — 从文件指针中读取字符
  • fgetcsv — 从文件指针中读入一行并解析 CSV 字段
  • fgets — 从文件指针中读取一行
  • fgetss — 从文件指针中读取一行并过滤掉 HTML 标记
  • file_exists — 检查文件或目录是否存在
  • file_get_contents — 将整个文件读入一个字符串
  • file_put_contents — 将一个字符串写入文件
  • file — 把整个文件读入一个数组中
  • fileatime — 取得文件的上次访问时间
  • filectime — 取得文件的 inode 修改时间
  • filegroup — 取得文件的组
  • fileinode — 取得文件的 inode
  • filemtime — 取得文件修改时间
  • fileowner — 取得文件的所有者
  • fileperms — 取得文件的权限
  • filesize — 取得文件大小
  • filetype — 取得文件类型
  • flock — 轻便的咨询文件锁定
  • fnmatch — 用模式匹配文件名
  • fopen — 打开文件或者 URL
  • fpassthru — 输出文件指针处的所有剩余数据
  • fputcsv — 将行格式化为 CSV 并写入文件指针
  • fputs — fwrite 的别名
  • fread — 读取文件(可安全用于二进制文件)
  • fscanf — 从文件中格式化输入
  • fseek — 在文件指针中定位
  • fstat — 通过已打开的文件指针取得文件信息
  • ftell — 返回文件指针读/写的位置
  • ftruncate — 将文件截断到给定的长度
  • fwrite — 写入文件(可安全用于二进制文件)
  • glob — 寻找与模式匹配的文件路径
  • is_dir — 判断给定文件名是否是一个目录
  • is_executable — 判断给定文件名是否可执行
  • is_file — 判断给定文件名是否为一个正常的文件
  • is_link — 判断给定文件名是否为一个符号连接
  • is_readable — 判断给定文件名是否可读
  • is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
  • is_writable — 判断给定的文件名是否可写
  • is_writeable — is_writable 的别名
  • lchgrp — 修改符号链接的所有组
  • lchown — 修改符号链接的所有者
  • link — 建立一个硬连接
  • linkinfo — 获取一个连接的信息
  • lstat — 给出一个文件或符号连接的信息
  • mkdir — 新建目录
  • move_uploaded_file — 将上传的文件移动到新位置
  • parse_ini_file — 解析一个配置文件
  • parse_ini_string — 解析配置字符串
  • pathinfo — 返回文件路径的信息
  • pclose — 关闭进程文件指针
  • popen — 打开进程文件指针
  • readfile — 输出文件
  • readlink — 返回符号连接指向的目标
  • realpath_cache_get — 获取真实目录缓存的详情
  • realpath_cache_size — 获取真实路径缓冲区的大小
  • realpath — 返回规范化的绝对路径名
  • rename — 重命名一个文件或目录
  • rewind — 倒回文件指针的位置
  • rmdir — 删除目录
  • set_file_buffer — stream_set_write_buffer 的别名
  • stat — 给出文件的信息
  • symlink — 建立符号连接
  • tempnam — 建立一个具有唯一文件名的文件
  • tmpfile — 建立一个临时文件
  • touch — 设定文件的访问和修改时间
  • umask — 改变当前的 umask
  • unlink — 删除文件

过滤器函数
  • filter_has_var — 检测是否存在指定类型的变量
  • filter_id — 返回与某个特定名称的过滤器相关联的id
  • filter_input_array — 获取一系列外部变量,并且可以通过过滤器处理它们
  • filter_input — 通过名称获取特定的外部变量,并且可以通过过滤器处理它
  • filter_list — 返回所支持的过滤器列表
  • filter_var_array — 获取多个变量并且过滤它们
  • filter_var — 使用特定的过滤器过滤一个变量

函数处理 函数

Hash 函数
  • hash_algos — 返回已注册的哈希算法列表
  • hash_copy — 拷贝哈希运算上下文
  • hash_equals — 可防止时序攻击的字符串比较
  • hash_file — 使用给定文件的内容生成哈希值
  • hash_final — 结束增量哈希,并且返回摘要结果
  • hash_hkdf — Generate a HKDF key derivation of a supplied key input
  • hash_hmac_algos — Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_hmac_file — 使用 HMAC 方法和给定文件的内容生成带密钥的哈希值
  • hash_hmac — 使用 HMAC 方法生成带有密钥的哈希值
  • hash_init — 初始化增量哈希运算上下文
  • hash_pbkdf2 — 生成所提供密码的 PBKDF2 密钥导出
  • hash_update_file — 从文件向活跃的哈希运算上下文中填充数据
  • hash_update_stream — 从打开的流向活跃的哈希运算上下文中填充数据
  • hash_update — 向活跃的哈希运算上下文中填充数据
  • hash — 生成哈希值 (消息摘要)

PHP 选项/信息 函数

网络 函数

Output Control 函数
  • flush — 刷新输出缓冲
  • ob_clean — 清空(擦掉)输出缓冲区
  • ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲
  • ob_end_flush — 冲刷出(送出)输出缓冲区内容并关闭缓冲
  • ob_flush — 冲刷出(送出)输出缓冲区中的内容
  • ob_get_clean — 得到当前缓冲区的内容并删除当前输出缓。
  • ob_get_contents — 返回输出缓冲区的内容
  • ob_get_flush — 刷出(送出)缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区。
  • ob_get_length — 返回输出缓冲区内容的长度
  • ob_get_level — 返回输出缓冲机制的嵌套级别
  • ob_get_status — 得到所有输出缓冲区的状态
  • ob_gzhandler — 在ob_start中使用的用来压缩输出缓冲区中内容的回调函数。ob_start callback function to gzip output buffer
  • ob_implicit_flush — 打开/关闭绝对刷送
  • ob_list_handlers — 列出所有使用中的输出处理程序。
  • ob_start — 打开输出控制缓冲
  • output_add_rewrite_var — 添加URL重写器的值(Add URL rewriter values)
  • output_reset_rewrite_vars — 重设URL重写器的值(Reset URL rewriter values)

图像处理
回复

使用道具 举报

4

主题

93

帖子

3205

积分

超级月卡

Rank: 7Rank: 7Rank: 7

积分
3205
 楼主| 发表于 7 小时前 | 显示全部楼层
第12章 MySQL数据库概述
创建数据库
create database[IF NOT EXISTS]bookstore;   //创建一个名为bookstore的数据库
drop database [IF NOT EXISTS]bookstore;    //删除一个名为bookstore的数据库
show database;                                          //显示所有已建立的数据库名称列表
use bookstore;                                           //打开bookstore数据库为当前数据库使用
创建数据表
create table book (
id int not null auto_increment,
bookname varchar(50) not null default '',
publisher varchar(80) not null default '',
author varchar(30) not null default '',
price double not null default 0.00,
detail text,
publishdata date,
primary key(id),
index book_bookname(bookname),
index book_price(price)
);

desc book;                                                //查看数据表详细结构


drop table book;                                   //删除数据表

向MySQL数据表插入行记录(insert)
insert into book(bookname,publisher,auto,price)values('细说PHP','电子工业出版社','高罗峰',89.00);
insert into book(bookname,publisher,author,price)values('细说PHP','电子工业出版社','高罗峰',89.00);


从MySQL数据表中查询数据记录(select)
select id,bookname,publisher,author,price from book;


更改MySQL数据表中存在的记录(update)
update book set price=79 where id=2;              //id为2的数据price修改为79


删除MySQL数据表中的记录(delete)
delete from book where id=1;                        //删除id为1的数据



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

快速回复 返回顶部 返回列表