知识大全 Linux下的编程 PHP高级技巧全放送(二)

Posted 元素

篇首语:知识是珍贵的宝石,文化的宝石放出的光辉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Linux下的编程 PHP高级技巧全放送(二)相关的知识,希望对你有一定的参考价值。

Linux下的编程 PHP高级技巧全放送(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   四 PHP和文件系统的维护    PHP中有许多与文件系统有关的函数 这些函数不仅可以打开文件 还可以显示目录中的内容 移动文件和其他一些功能 许多人甚至用PHP开发基于互联网的文件资源管理器     关于文件路径的解释 在Windows中 可以在路径中使用/和符号 而在其他的操作系统中只能使用/符号 出于一致性的缘故 我们统一使用/符号     下面的脚本样例可以显示一个目录清单 注释已经包含在代码中     <? /*把要读取的目录的全路径名存入一个名字为$dir_name的变量中 */  $dir_name = /home/me/ ;  /* 创建一个句柄 其值是打开一个给定目录的结果*/  $dir = opendir($dir_name);  /* 建立一个文字块 用以放置列表元素(文件名字)*/  $file_list = <ul> ;  /* 使用一个while语句 读取已经打开的目录中的所有元素 如果文件的名字不是 或 则显示列表中的名字*/  while ($file_name = readdir($dir))   if (($file_name != ) && ($file_name != ))   $file_list = <li>$file_name ;      $file_list = </ul> ;  /*关闭打开的目录 结束PHP模块*/  closedir($dir);  ?>  <! Start your HTML >  <HTML>  <HEAD>  <TITLE>Directory Listing</TITLE>  </HEAD>  <BODY>  <! Use PHP to print the name of the directory you read >  <P>Files in: <? echo $dir_name ; ?></p>  <! Use PHP to print the directory listing >  <? echo $file_list ; ?>  </BODY>  </HTML>    好了 我们已经得到了一个目录清单 需要注意的是 要读取一个文件(稍后我们将进行讲解)或目录的内容 PHP运行的系统上的用户必须至少有读取文件的权限     下面是一个如何拷贝文件的例子   <? /*把你要拷贝的原文件的全路径赋给一个名字为$original的变量中 把拷贝的文件的全路径赋予一个名字为$copied的变量中*/  $original = /home/me/mydatabasedump ;  $copied = /archive/mydatabasedumo_ ;  /* 使用copy()函数拷贝原始文件 如果拷贝没有完成则会显示一个错误信息*/  @copy($original $copied) or die( Couldn t copy file );  ?>    这个例子是一个文件备份系统的原型 在这段脚本运行时 它把文件拷贝到一个不同的位置进行保存 稍微修改一下守护程序 就可以在一天中你指定的时刻执行它 而无需用户的干预     假定你在系统上安装了Lynx 可以创建一个守护程序的条目访问这个文件 访问这个文件会运行这个脚本并建立一个拷贝文件 下面的例子将在上午 点钟运行这个脚本 然后关闭Lynx      * * * [username] lynx dump >/dev/null >&     如果运行的是CGI版本的PHP 可以跳过Lynx部分 而直接调用二进制文件      * * * [username] php /path/to/copyfile php >/dev/null >&      五 丰富的数组函数    PHP 中新添加了 个与组数有关的函数 其中一些常见的函数可以判断一个数组中是否包含某个元素 对一个数组中的元素进行计数 添加或删除数组中的元素或者对数组中的元素进行排序     如果有一个很大的数组 而你需要找出其中是否包含一个特定的元素 就可以使用in_array() 下面的例子将显示 Not found in this array 因为在一个名字为$namesArray的数组中查找Albert 而在$namesArray数组中不存在这样一个元素   <? $namesArray = array( Joe Jane Bob Mary Paul Eddie John );  $lookingFor = Albert ;  if (in_array($lookingFor $namesArray))   echo You ve found it! ;   else   echo Not found in this array! ;    ?>    如果把$lookingFor的值改为Mary 就会得到 You ve found it! 的信息 因为Mary是$namesArray数组中的一个元素     如果要对一个数组中的元素个数进行计数 只要简单地使用count()函数即可   <? $namesArray = array( Joe Jane Bob Mary Paul Eddie John );  $count = count($namesArray); ?>    返回的$count的值为     可以在一个数组的开头或结尾处添加元素 还可以使用array_merge()来建立一个包含二个或更多数组中元素的新数组 合并时 元素的顺序会按指定的顺序排列 如果原来的数组是被排过序的 在合并后需要对它重新排序     我们可以首先利用array_push()在数组的结尾处添加一个元素   <? /* 建立一个数组 */  $fruitArray = array( apple orange banana kiwi pear );  /* 向数组中添加元素 */  array_push($fruitArray grape pineapple tomato );  /*显示每个元素及其序号*/  while (list($key $value) = each($fruitArray))   echo $key : $value<br> ;    ?>    运行上面的程序将得到下面的结果    : apple   : orange   : banana   : kiwi   : pear   : grape   : pineapple   : tomato    如果需要在数组的开头添加元素 其代码与上面的代码差不多 唯一的不同之处是需要用array_unshift()代替array_push()   <?  /* 建立一个数组*/  $fruitArray = array( apple orange banana kiwi pear );  /* 向数组中添加元素*/  array_unshift($fruitArray grape pineapple tomato );  /* 显示每个元素及其序号*/  while (list($key $value) = each($fruitArray))   echo $key : $value<br> ;    ?>    运行上面的程序将得到下面的结果    : grape   : pineapple   : tomato   : apple   : orange   : banana   : kiwi   : pear    array_merge()函数可以把二个或更多的数组合并为一个数组   <? /*建立第一个数组*/  $fruitArray = array( apple orange banana kiwi pear );  /*/建立第二个数组*/  $vegArray = array( carrot green beans asparagus artichoke corn );  /*把这二个数组合并为一个数组*/  $goodfoodArray = array_merge($fruitArray $vegArray);  /* 显示每个元素及其序号*/  while (list($key $value) = each($goodfoodArray))   echo $key : $value<br> ;    ?>    运行上面的脚本将得到下面的结果    : apple   : orange   : banana   : kiwi   : pear   : carrot   : green beans   : asparagus   : artichoke   : corn    现在我们已经掌握了如何添加元素和合并数组 我们再来看看如何从一个数组中删除元素 从一个数组的末尾删除一个元素可以使用array_pop()函数 使用array_shift()函数可以从一个数组的开头删除一个元素 尽管使用array_pop()或 array_shift()从数组中删除了一个元素 你还可以把这个元素当作一个变量来使用     使用array_pop()从一个数组的末尾删除一个元素   <?  /*建立一个数组*/  $fruitArray = array( apple orange banana kiwi pear );  /* 从数组的末尾删除一个元素*/  $popped = array_pop($fruitArray);  /* 显示删除后数组的内容和你删除的元素*/  while (list($key $value) = each($fruitArray))   echo $key : $value<br> ;    echo <br>and finally in $popped: $popped ;  ?>    运行上面的脚本会得到下面的结果    : apple   : orange   : banana   : kiwi  and finally in $popped: pear    我们再来讨论一个从一个数组的末尾删除元素的例子   <?  /* 建立一个数组*/  $fruitArray = array( apple orange banana kiwi pear );  /*从一个数组的开始删除一个元素*/  $shifted = array_shift($fruitArray);  /* 显示删除后数组的内容和你删除的元素*/  while (list($key $value) = each($fruitArray))   echo $key : $value<br> ;    echo <br>and finally in $shifted: $shifted ;  ?>    运行上述脚本会得到如下的显示结果    : orange   : banana   : kiwi   : pear  and finally in $shifted: apple    另外还有几个函数可以对数组中的元素进行排序 但在这里我们将只简要介绍基本的排序函数 说明排序的过程   <? /*建立一个数组*/  $fruitArray = array( apple orange banana kiwi pear );  /* 对数组进行排序*/  sort($fruitArray);  /*显示每个元素及其序号*/  while (list($key $value) = each($fruitArray))   echo $key : $value<br> ;< cha138/Article/program/PHP/201311/20800

相关参考

知识大全 Linux下的多线程编程

Linux下的多线程编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言    线程(thr

知识大全 Linux操作系统下的Oracle数据库编程详解

Linux操作系统下的Oracle数据库编程详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java高级编程:使用打印服务API二(图)

Java高级编程:使用打印服务API二(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  选择

知识大全 十个php一些不为人知的高级应用技巧

  PHP独特的语法混合了CJavaPerl以及PHP自创新的语法它可以比CGI或者Perl更快速的执行动态网页用PHP做出的动态页面与其他的编程语言相比PHP是将程序嵌入到HTML文档中去执行执行效

知识大全 Linux系统安装php扩展cURL

Linux系统安装php扩展cURL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Linux作

知识大全 Linux下的LDAP

Linux下的LDAP  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者简介  AtifGha

知识大全 PHP执行linux系统命令

PHP执行linux系统命令  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先先要给大家介绍P

知识大全 Linux下C语言对PHP扩展

Linux下C语言对PHP扩展  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一搭建php环境 

知识大全 PHP监控linux服务器负载

PHP监控linux服务器负载  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由于WebServ

知识大全 Linux下独立添加PHP扩展模块

Linux下独立添加PHP扩展模块  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  服务器运行一段