php scandir遍历显示所有文件与文件夹下的文件

 更新时间:2016年11月25日 15:51  点击:1999

php教程 scandir遍历显示所有文件与文件夹下的文件,方法很简单我们只要利用is_dir判断再递归查找一次,这样就可以把遍历目录下所有文件了。

目录遍历

<?php

  function numfilesindir ($thedir){
    if (is_dir ($thedir)){
      $scanarray = scandir ($thedir);
      for ($i = 0; $i < count ($scanarray); $i++){
        if ($scanarray[$i] != "." && $scanarray[$i] != ".."){
          if (is_file ($thedir . "/" . $scanarray[$i])){
            echo $scanarray[$i] . "<br />";
          }
        }
      }
    } else {
      echo "Sorry, this directory does not exist.";
    }
  }
  echo numfilesindir ("sample1");

?>

扫描指定位置的文件

<?php
   print_r(scandir("/usr/local/apache2/htdocs"));
?>

<?
    $files = scandir(".", 1);
    var_dump($files);
?>

<?php教程
/*  类的声明
 *    1.你要开发的是什么,确定写什么类
 *    2.类中的成员一定要属于这个类  
 *       [修饰类的关键字] class 类名{
 *         成员属性:
 *         成员方法:
 *        }
 *    3.在类中声明成员属性时,前面必须有修饰词,当不确定使用哪个词时,使用var或public
 *    一个文件只保存一个类,文件名中包含类名,文件:类名.class.php
 *      类名的写法:
 *       变量:aaaBbbCcc
 *       函数:aaaBbbCcc
 *       常量:AAABBBCCC
 *       类名:AaaBbbCcc
 *     4.类中的成员属性,如果创建多个对象时,每个对象有不同的属性值时,不要直接给初值,在创建好对象之后再给值
 * 
 * 
 *  通过类来实例化对象
 *   1.使用的是new新建一个对象,加上类名,就是创建哪个类的对象
 *     $对象引用=new 类名;
 *   2.只要有一个new 关键字就是创建一个对象,创建一个对象就是在内存中分配了一个空间
 *
 *   只有对象才在内存有存储空间
 *
 *  对象的作用
 *
 *  对象在内存中的分配
 *
 *  对象的使用
 *   对象中的成员必须通过对象的引用来访问
 *   对象->成员
 *
 *    对象->成员属性
 *    对象->成员方法
 *
 *
 *
 */

---------------------------------------------------<?php

class Something {
// 在OOP类中,通常第一个字符为大写
var $x;
function setX($v) {
// 方法开始为小写单词,然后使用大写字母来分隔单词,例如getValueOfArea()
$this->x=$v;
}
function getX() {
return $this->x;
}
}
?>---------------------------------------------------


  当然你可以按自已的喜好进行定义,但最好保持一种标准,这样会更有效。

  数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的。一个数据成员可
以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象。

  方法在类中被定义成函数形式,在方法中访问类成员变量时,你应该使用$this->name,否则对一个方
法来说,它只能是局部变量。

  使用new操作符来创建一个对象:

 

 $obj=new Something;

  然后你可以使用成员函数通过:

  $obj->setX(5);
  $see=$obj->getX();

  在这个例子中,setX成员函数将5赋值给对象的成员变量x(不是类的),然后getX返回它的值5。

  你可以象:$obj->x=6那样通过类引用方式来存取数据成员,这不是一个很好的OOP习惯。我强烈建议通
过方法来存取成员变量。如果你把成员变量看成是不可处理的,并且只通过对象句柄来使用方法,你将是一
个好的OOP程序员。不幸的是,PHP不支持声明私有成员变量,所以不良代码在PHP中也是允许的。

  继承在PHP中很容易实现,只要使用extend关键字。

 

-----------------------------------------------------
<?php

class Another extends Something {
var $y;
function setY($v) {
$this->y=$v;
}
function getY() {
return $this->y;
}
}

?>---------------------------------------------------

//类的声明(电话类)
class Phone{
 //声明属性
 var $pinPai;
 var $color;
 var $batteryCapacity;
 var $screenSize;

 //成员方法
 function call(){
 
 }

 function message(){

 }

 function playMusic(){

 }

 function photo(){

 }
}

//类的实例化

<?php

class Something {
var $x;

function Something($y) {
$this->x=$y;
}

function setX($v) {
$this->x=$v;
}

function getX() {
return $this->x;
}
}

?>---------------------------------------------------


  所以你可以创建一个对象,通过:

 

 $obj=new Something(6);

  构造函数会自动地把6赋值给数据变量x。构造函数和方法都是普通的PHP函数,所以你可以使用缺省参数。

  

function Something($x="3",$y="5")

  接着:

  

$obj=new Something(); // x=3 and y=5
  $obj=new Something(8); // x=8 and y=5
  $obj=new Something(8,9); // x=8 and y=9

  缺省参数使用C++的方式,所以你不能忽略Y的值,而给X一个缺省参数,参数是从左到右赋值的,如果
传入的参数少于要求的参数时,其作的将使用缺省参数。

  当一个派生类的对象被创建时,只有它的构造函数被调用,父类的构造函数没被调用,如果你想调用基
类的构造函数,你必须要在派生类的构造函数中显示调用。可以这样做是因为在派生类中所有父类的方法都
是可用的。

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

<?php

function Another() {
$this->y=5;
$this->Something();
//显示调用基类构造函数
}

?>---------------------------------------------------

class Person{

 var $name;
 var $age;
 var $sex;

 function say(){

 }

 function eat(){

 }

 function run(){

 }
}
//实例化
$p1=new Person;
$p2=new Person;
$p3=new Person;

<?php

$obj=new Classfoo();
$str=serialize($obj);

//保存$str到磁盘上


//几个月以后


//从磁盘中装入str

$obj2=unserialize($str)

?>---------------------------------------------------
  你恢复了成员数据,但是不包括方法(根据文档所说)。这导致了只能通过类似于使用$obj2->x来存取
成员变量(你没有别的方法!)的唯一办法,所以不要在家里试它。

//访问对象的成员
$p1->name="zhangsan";
echo $p1->name;
?>

cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

实例

<?php教程

  echo( "Cookie created? : " . setcookie("cookie_name", "cookie_data" ) );

?>

<html>

 <head>
  <title>Cookie</title>
 </head>

 <body>

 </body>

</html>


如果要删除 cookie只要设置cookie的过期时间就行了,
实例

<?php
setcookie ( "cookie_user", "test", time () + 60 * 60 * 24 * 30 );
setcookie ( "cookie_pass", md5 ( "test" ), time () + 60 * 60 * 24 * 30 );

function logout() {
  setcookie ( "cookie_user", "", time () + 60 * 60 * 24 * 30 );
  setcookie ( "cookie_pass", "", time () + 60 * 60 * 24 * 30 );
}
logout ();
echo $_COOKIE ['cookie_user'] . "<br />";
echo "You have successfully logged out.";
?>

我们在开发中经常会用到cookie自动登录

实例

 

<?php
  $GLOBALS['username'] = "test";
  $GLOBALS['password'] = "test";
 
  function validatelogin ($username, $password){
    if (strcmp ($username, $GLOBALS['username']) == 0 && strcmp ($password, $GLOBALS['password']) == 0){
      setcookie ("cookie_user", $username, time()+60*60*24*30);
      setcookie ("cookie_pass", md5 ($password), time()+60*60*24*30);
      return true;
    } else {
      return false;
    }
  }
  if (validatelogin ("test","test")){
    echo "Successfully logged in.";
  } else {
    echo "Sorry, invalid login.";
  }
?>

读取团购网站的api的php教程程序

$arr = array(
 array("http://www.meituan.com/api/deals/hao123","url","美团网"),

);

class AminoAcid {
    var $name;
    var $symbol;
    var $code;
    var $type;
    function AminoAcid ($aa){
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}
function readDatabase($filename,$label){
    $data = implode("",file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);
    foreach ($tags as $key=>$val) {
        if ($key == $label) {
            $molranges = $val;
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}
function parseMol($mvalues){
    for ($i=0; $i < count($mvalues); $i++) {
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new AminoAcid($mol);
}

foreach($arr as $key => $value){
   $r = readDatabase($value[0],$value[1]);
   print_r($r);//打印出来解析出来的信息
 }

php教程 分支结构 条件结构 选择结构

<?php
/*
 *    流程控制
 *   
 *     一、顺序结构
 *     二、分支结构--条件结构--选择结构
 *       1.单路分支
 *  //条件bool,true或false,> < == !- & || !
 *  if(条件)
 *   执行下面一条语句
 *  if(条件)
 *  {
 *   代码段;
 *   代码段;
 *  }
 *
 *       2.双路分支
 *          使用else从句
 *
 *      if(条件)
 *       执行一条语句
 *      else
 *       执行一条语句
 *      if(条件){
 *        一条或多条代码
 *      }else{
 *        一条或多条代码
 *      }
 *      
 *       3.多路分支
 *  可以使用 if  else if   和 switch case
 *  //这是一种互斥的关系
 *  if(条件){
 *
 *  }else if(条件){
 *  }else if(条件){
 *  }else{
 *  }
 *       4.嵌套分支
 *  if(){
 *   if(){
 *   }else{
 *    if(){}
 *   }
 *   }
 * 三、循环结构
 *  
 * 
 *
 *
 *
 * 总结:
 *  如果是判断一段范围 则使用elseif
 *  如果是单个匹配,则使用switch case
 */
 //单路执行
 $a=10;
 $b=5;
 if($a > $b)
  echo "$a 是大于 $b 的";

 //双路执行
 $a=10;
 $b=20;
 if($a>$b)
 {
  echo "$a 大于 $b</br>";
 }
 else
 {
  echo "$a 小于 $b</br>";
 }

 //多路执行
 $hour=date("H");
 if($hour > 6 && $hour < 9)
 {
  echo "good morning!":
 }
 else if($hour > 9 && $hour < 12)
 {
  echo "上午好";
 }
 else if($hour > 12 && $hour < 14)
 {
  echo "中午好";
 }
 else if($hour > 14 && $hour < 17)
 {
  echo "下午好";
 }
 else if($hour > 17 && $hour < 19)
 {
  echo "傍晚好";
 }
 else if($hour > 19 && $hour <22)
 {
  echo "晚上好";
 }
 else
 {
  echo "夜晚好";
 }
 //根据互斥性改良代码
 $hour=date("H");
 if($hour < 9)
 {
  echo "good morning!":
 }
 else if($hour < 12)
 {
  echo "上午好";
 }
 else if($hour < 14)
 {
  echo  case " Mon":
  echo "星期一";
  break;"中午好";
 }
 else if($hour < 17)
 {
  echo "下午好";
 }
 else if($hour > 19)
 {
  echo "傍晚好";
 }
 else if($hour < 22)
 {
  echo "晚上好";
 }
 else
 {
  echo "夜晚好";
 }

 //判断当天星期
 $week=date("D");//获取星期几
 switch($week) //switch(变量)  变量只用整型和字符串
 {
 case "Mon":
  echo "星期一";
  break;
 case "Tue"
  echo "星期二";
  break;
 case "Wed":
  echo "星期三";
  break;
 case "Thu":
  echo "星期四";
  break;
 case "Fri":
  echo "星期五";
  break;
 default:
  echo "周末";
 }

 //嵌套类
 $sex=$_GET["sex"];
 $age=$_GET["age"];
 if($sex=="nan")
 {
  if($age >= 60)
  {
   echo "这个$sex 已经退休".($age-60)."年了";
  }
  else
  {
   echo "这个男士还在工作,还有".(60-$age)."年才退休";
  }
 }
 else
 {
  if($age >= 66)
  {
   echo "这个$sex 已经退休".($age-66)."年了";
  }
  else
  {
   echo "这个女士还在工作,还有".(66-$age)."年才退休";
  }
 }
?>

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31