xml地图|网站地图|网站标签 [设为首页] [加入收藏]

正规赌博平台

当前位置:网上十大正规赌博平台 > 正规赌博平台 > php中注册器模式类用法实例分析,计算大小

php中注册器模式类用法实例分析,计算大小

来源:http://www.nb-machinery.com 作者:网上十大正规赌博平台 时间:2019-07-14 20:18

本文介绍了一款无刷新的资源消息留言系统,最简明易懂的叁个ajax无刷新留言系统,源码中总结了接受多少证实的进程,我们可凭借自身的供给进行扩充,上边进入正题。

为大家大饱眼福的首先个操作内容: 遍历并打字与印刷钦命目录下具备文件

正文实例陈述了php中注册器方式类用法。分享给我们供大家参照他事他说加以考察,具体如下:

图片 1

<?php 
//功能:遍历并打印指定目录下所有文件 

function scan_dir($dir_name,$dir_flag=1) { 
  static $FILE_COUNT=1;        //记录文件数目 初值为1 目录名称不记 
  $FILE_COUNT--;            //每调用一次scan_dir()函数自减1 
  @$dir_handle=opendir($dir_name);   //抑制错误信息显示 便于自定义错误显示 
  if(!$dir_handle) 
  die("目录打开错误!"); 
  while(false!==($filename=readdir($dir_handle))) //文件名为‘0'时,readdir返回 FALSE,判断返回值是否不全等 
  {                   

    $flag=$dir_flag;         //古怪的 is_dir($filename) ! $filename这个路径必须能够寻到!当$filename不存在或者不是目录时返回false 
    if($filename!='.'&&$filename!='..') 
    { 
      $FILE_COUNT  ;          //不记录当前路径和上一级路径 
      while($flag>0&&--$flag)     //负数仍为真 
        echo '&nbsp'; 
      if(is_dir($dir_name.$filename)) //判断 是否为一个目录 
      { 
        echo '<strong>'."<a href=".$dir_name.$filename.">".$filename."</a></strong><br>"; 
        scan_dir($dir_name.$filename.'/',$dir_flag 1);   //$dir_flag标志目录树层次 
      } 
      else  
      { 
        echo "<a href=".$dir_name.$filename.">".$filename."</a><br>"; 
      } 
    } 
  } 
  closedir($dir_handle);         //关闭目录句柄 
  echo "文件总数:".$FILE_COUNT.'<br>'; 
} 

scan_dir('D:/AppServ/www/mytest/shopping/payment/'); 


/*总结:
1,关于路径 目录的路径末尾都加上 '/' 以便后面与文件名字符串连接 形成新的 路径字符串
2,目录遍历 这是一个关于树的问题
3,is_dir()函数第一个参数必须是一个能够识别的PATH否则会因目录不存在而返回一个false容易误解
得出 “这不是一个目录”的错误结论 形成逻辑上的错误
4,注意当前路径'.'和上一级路径'..'的剔除 否则 在递归环节造成死循环 直至内存耗尽出错。
5,dir_flag这个变量是记录树的深度 以便于目录分级分层输出                */
/*不足
1,输出排版不完善
2,逻辑与表示层混乱 不分明 大忌!
3,面向过程
*/

注册器读写类
Registry.class.php

着力源码:

#####单目录#####

<?php
/** 
 * 注册器读写类 
 */
class Registry extends ArrayObject
{
  /** 
   * Registry实例
   *
   * @var object 
   */
  private static $_instance = null;
  /**
   * 取得Registry实例
   * 
   * @note 单件模式
   * 
   * @return object
   */
  public static function getInstance()
  {
    if (self::$_instance === null) {
      self::$_instance = new self();
      echo "new register object!";
    }
    return self::$_instance;
  }
  /**
   * 保存一项内容到注册表中
   * 
   * @param string $name 索引
   * @param mixed $value 数据
   * 
   * @return void
   */
  public static function set($name, $value)
  {
    self::getInstance()->offsetSet($name, $value);
  }
  /**
   * 取得注册表中某项内容的值
   * 
   * @param string $name 索引
   * 
   * @return mixed
   */
  public static function get($name)
  {
    $instance = self::getInstance();
    if (!$instance->offsetExists($name)) {
      return null;
    }
    return $instance->offsetGet($name);
  }
  /**
   * 检查一个索引是否存在 
   * 
   * @param string $name 索引
   * 
   * @return boolean
   */
  public static function isRegistered($name)
  {
    return self::getInstance()->offsetExists($name);
  }
  /**
   * 删除注册表中的指定项
   * 
   * @param string $name 索引
   * 
   * @return void
   */
  public static function remove($name)
  {
    self::getInstance()->offsetUnset($name);
  }
}

1.陈设文件:config.php,代码如下:

// 列出目录内容 $dir 不要加 '/' 
function list_files($dir) 
{ 
  if(is_dir($dir)) 
  { 
    if($handle = opendir($dir)) 
    { 
      while(($file = readdir($handle)) !== false) 
      { 
        if($file != "." && $file != ".." && $file != "Thumbs.db") 
        { 
          echo '<a href="'.$dir.'/'.$file.'">'.$file.'</a><br>'."n"; 
        } 
      } 
      closedir($handle); 
    } 
  } 
} 

list_files('D:/AppServ/www/mytest/shopping/payment'); 

亟待注册的类
 
test.class.php

<?php 
 //数据库配置信息(用户名,密码,数据库名,表前缀等) 
 $cfg_dbhost = "localhost"; 
 $cfg_dbuser = "root"; 
 $cfg_dbpwd = "root"; 
 $cfg_dbname = "ajaxdemo1"; 
 $cfg_dbprefix = ""; 
 $link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd); 
 mysql_select_db($cfg_dbname); 
 mysql_query("set names utf8"); 
?> 

 PHP 对文本举办的首个操作内容:获得文件夹大小 计算文件

<?php
class Test
{
   function hello()
   {
    echo "hello world";
    return;
   }
} 
?>

本文由网上十大正规赌博平台发布于正规赌博平台,转载请注明出处:php中注册器模式类用法实例分析,计算大小

关键词: BG视讯直播