php怎么打开本地文件夹?php读取目录及子目录下所有文件名的方法

 更新时间:2017年7月6日 23:50  点击:2026
小编分享了一篇文章,介绍了php读取目录及子目录下所有文件名的方法,有需要的同学可以参考一下。

本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下:

一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:

 代码如下复制代码
$dir="./caxa/";
$file=scandir($dir);
print_r($file);

稍微复杂点的,来自于php手册:

 代码如下复制代码
$dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
} closedir($dh);
}
}

这些都只能读取当前指定目录下的文件,对子目录中的文件则无法读取。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:

 代码如下复制代码
function searchDir($path,&$data){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}

function getDir($dir){
$data=array();
searchDir($dir,$data);
return   $data;
}

print_r(getDir('.'));

 

本文详细介绍了html静态页面调用php文件的方法,非常实用,有兴趣的同学可以参考一下。

在HTML里面调用动态模块,比如浏览次数,除了使用JS/AJAX可以实现,还可以利用JS调用PHP的脚本来实现,而且还可以传递参数给服务器。笔者在这儿做一下纪录,一者加深印象,二者方便初学者查阅。

笔者在做整合的友情链接模块中,使用到了该方面知识。

1. 调用格式

 代码如下 复制代码
<scriptsrc="./friendLink/script.php"type="text/javascript"><!--mce:0--></script>

2. 实例应用

笔者这里先介绍一下实例。我乐邯郸使用了康盛的SUPESITE7.0、DISCUZ7.0、UCHOME三个系统,三个系统中的友情链接模块相互独立。笔者需要把这三个系统的友情链接模块整合到一起。友情链接管理模块这里不谈,只给出调用脚本script.php的代码。

 代码如下 复制代码
include'./FL_inc/friendLink.inc.php';2:$xml    = simplexml_load_file('./FL_data/data.xml');3:$position    = $_GET['position'];4:foreach($xml->friendLinkas$flinks) {5:if($flinks['position'] == $position && $flinks['isImage'] == 0){6:echo'document.write(/'<a href="',$flinks->url,'" target="_blank">',u2gIconv($flinks->name),'</a> /');';7:}elseif($flinks['position'] == $position && $flinks['isImage'] == 1){8:echo'document.write(/'<a href="',$flinks->url,'" target="_blank"><img title="',u2gIconv($flinks->name),'" src="',$flinks->logoPath,'" border="0" alt="" /></a> /');';9:}10:}

笔者需要在3个系统的默认友情链接部分,使用JS调用script.php脚本,并且传递系统标识符给script.php脚本。

 代码如下 复制代码
<script src="./FriendLink/script.php?position=supe"type="text/javascript"></script>2:<script src="./FriendLink/script.php?position=bbs"type="text/javascript"></script>3:<script src="./FriendLink/script.php?position=home"type="text/javascript"></script>

这样就轻松实现了友情链接集中管理功能。


本文详细介绍了如何用PHP开发一个完整的网站的步骤,有兴趣的同学可以参考一下。

1、PHPer应具备的知识
(1)PHP知识:
 

   熟练掌握基础函数,PHP语句(条件、循环),数组(排序、读取),函数(内部 构造),运算(数学 逻辑),面向对象(继承 接口 封装 多态静态属性)等。
    了解Cookie或者Session一种机制
    了解一种模板操作机制和使用
    
    手头收藏一些好的常用类或方法,能提高我们的开发的速度。如:分页、上传、字符过滤、数据库操作、生成HTML、文件操作等。

(2)HTML知识
(3)JavaScript事件处理
(4)数据库知识:SQL语句“增删改查” 会使用一种SQL工具

-----------------------------------------------------------------------------------------------

2、PHP开发的一般流程
如何用PHP开发一个完整的网站

(1)尽量完整的需求方案,具体到功能上:
(2)建模结构UML
(3)建立数据库:
      1、建立的表名、字段名要与他的功能有关系。
      2、根据结构建立数据库表,原则是不定项内容一定要分表。
      3、字段类型要考虑内容是否够用就够就好,选择适合的类型INT Varchar Date

(4)设计HTML文件和脚本的实现
       根据模和数据库来设计页面是个很科学的方法,当然有的时候有人喜欢根据模型设计页面,数据库基于页面设计,都是可以的。
       设计页面时要考虑到每个细节,包括提示消息页面,错误页面。
(5)PHP代码的书写
1、先建立底层结构和文件夹(如果是大型的网站同样设计一个文件UMML)
2、基础功能分类关联,以便今后代码引用。
3、代码的书写,注意简洁性和函数的使用,内部函数能实现的尽量使用内部函数。
4、在部分关键位置加以代码注释。
(6)程序的测试和修正
1、对于发现的BUG不能就解决BUG而解决,要处于完整程序考虑。避免收之东隅收之桑榆。
2、对于解决过的BUG已经要详细记录,以便日后更新。

-------------------------------------------------------------------------------------------------

3、多人开发应该注意什么
使用版本服务器:CVS、SVN...
功能:
1、单个文件历史版本的记录和恢复
2、文件的锁定和更新
3、单个或多个文件程序之间的沟通
4、保护程序的安全性不受单个程序的误操作而丢失

小编分享的这篇文章介绍了ThinkPHP中ajax使用实例代码,不知道如何使用ajax的同学可以参考一下本文。

 一、jquery实现方法:

 代码如下 复制代码

MessageAction.class.php页面代码如下:

<?php

class MessageAction extends Action{

 function index(){

  $this->display(); 

 }

 function add(){

  //ajaxReturn(数据,'提示信息',状态) 

  $m=M('message');

  if($m->add($_GET)){

   $this->ajaxReturn($_GET,'添加信息成功',1);

  }else{

   $this->ajaxReturn(0,'添加信息失败',0); 

  }

 }

}

?>

模板index.html代码如下:

 代码如下 复制代码

<html>

<head>

<script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.1.min.js"></script>

<script type="text/javascript">

 $(function(){

  $('input:button').click(function(){

   var $title=$('input[name="title"]').val();

   var $message=$('input[name="message"]').val();

   $mess=$('#mess');

   $.getJSON('__URL__/add',{title:$title,message:$message},function(json){

    //alert(json);return false;

    if(json.status==1){

     $mess.slideDown(3000,function(){

      $mess.css('display','block'); 

     }).html('标题为'+json.data.title+'信息为'+json.data.message); 

    }else{

     $mess.slideDown(3000,function(){

      $mess.css('display','block'); 

     }).html('信息添加失败,请检查'); 

    }  

   });

  }) 

 })

</script>

</head>

<body>

<div style="display:none; color:red;" id="mess"></div>

<form action="" method="get">

 标题:<input type="text" name="title" /><br />

 信息:<input type="text" name="message" /><br />

  <input type="button" value="提交" />

</form>

</body>

</html>

二、ThinkPHP实现方法:

MessageAction.class.php页面代码如下:

 代码如下 复制代码

<?php

class MessageAction extends Action{

 function index(){

  $this->display(); 

 }

 function addtwo(){

  $m=M('message');

  if($vo=$m->create()){

   if($m->add()){

    $this->ajaxReturn($vo,'添加成功',1); 

   }else{

    $this->ajaxReturn(0,'添加失败',0); 

   } 

  }else{

   $this->error($m->getError()); 

  }

 }

}

?>

模板index.html代码如下:

 代码如下 复制代码

<html>

<head>

<script type="text/javascript" src="__PUBLIC__/Js/Base.js"></script>

<script type="text/javascript" src="__PUBLIC__/Js/prototype.js"></script>

<script type="text/javascript" src="__PUBLIC__/Js/mootools.js"></script>

<script type="text/javascript" src="__PUBLIC__/Js/ThinkAjax.js"></script>

<script type="text/javascript">

 function add(){

  //ThinkAjax.sendForm(表单ID,URL,回调函数,信息显示的地方);

  ThinkAjax.sendForm('frm','__URL__/addtwo',wc); 

 }

 function wc(data,status){

  if(status!=1){

   alert('发送失败');

  }else{

   $('list').innerHTML+='标题'+data.title+',信息'+data.message; 

  } 

 }

</script>

</head>

<body>

<div id="list"></div>

<form action="" method="POST" id="frm">

 标题:<input type="text" name="title" /><br />

 信息:<input type="text" name="message" /><br />

  <input type="button" value="提交" onClick="add()" />

</form>

</body>

</html>

感兴趣的朋友可以测试运行一下本文所示实例,可以加深对Ajax应用的理解。

 

[!--infotagslink--]

相关文章