php检测文件目录大小类

 更新时间:2016年11月25日 16:04  点击:1281
这段代码来自php dedecms哦,觉得它这个检测文件与目录大小写得比较好,所以不把它贴出来哦,与各位分享一下吧.

这段代码来自php dedecms哦,觉得它这个检测文件大小写得比较好,所以不把它贴出来哦,与各位分享一下吧.

class SpaceUse
{
 var $totalsize=0; 
 function checksize($indir)
 {
  $dh=dir($indir);
  while($filename=$dh->read())
  {
   if(!ereg("^.",$filename))
   {
    if(is_dir("$indir/$filename")) $this->checksize("$indir/$filename");
    else $this->totalsize=$this->totalsize + filesize("$indir/$filename");
   }
  }
 }
 function setkb($size)
 {
  $size=$size/1024;
  //$size=ceil($size);
  if($size>0)
  {
   list($t1,$t2)=explode(".",$size);
   $size=$t1.".".substr($t2,0,1);
  }
  return $size;
 }
 function setmb($size)
 {
  $size=$size/1024/1024;
  if($size>0)
  {
   list($t1,$t2)=explode(".",$size);
   $size=$t1.".".substr($t2,0,2);
  }
  return $size;
 } 
}

好了,php 删除文件与目录代码是对文件与目录管理时会常用到了, 其实我们是删除文件后再删除目录的,因为php不能直接删除不是null的文件夹哦.

function RmDirFiles($indir)
 {
    $dh = dir($indir);
    while($filename = $dh->read()) {
      if($filename == "." || $filename == "..")
       continue;
      else if(is_file("$indir/$filename"))
       @unlink("$indir/$filename");
      else
        $this->RmDirFiles("$indir/$filename");
    }
    $dh->close();
    @rmdir($indir);
 }
 //获得某目录合符规则的文件
 function GetMatchFiles($indir,$fileexp,&$filearr)
 {
    $dh = dir($indir);
    while($filename = $dh->read())
    {
      $truefile = $indir.'/'.$filename;
      if($filename == "." || $filename == ".."){
       continue;
      }
      else if(is_dir($truefile)){
       $this->GetMatchFiles($truefile,$fileexp,$filearr);
      }
      else if(preg_match("/.(".$fileexp.")/i",$filename)){
       $filearr[] = $truefile;
      }
    }
    $dh->close();
 }
 //删除文件
 function DeleteFile($filename)
 {
  $filename = $this->baseDir.$this->activeDir."/$filename";
  if(is_file($filename)){ @unlink($filename); $t="文件"; }
  else{
   $t = "目录";
   if($this->allowDeleteDir==1) $this->RmDirFiles($filename);
  }
  ShowMsg("成功删除一个".$t."!","file_manage_main.php?activepath=".$this->activeDir);
  return 0;
 }

收集了几种常用的屏蔽的ip列表的程序处理方法,屏蔽一些IP这样可以让你的网站更好,更稳定了,下面我们不来分析下面的屏蔽

下面我是收集了几种常用的屏蔽的ip列表的程序处理方法,屏蔽这样可以让你的网站更好,更稳定了,下面我们不来分析下面的屏蔽方法吧.

$ip_str = "127.0.0.1,192.1.1.*,202.*,127.*,123.*,142.*,*";
$ip = "127.0.0.254";
function StopIp($ip,$ip_str)
{
    if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
    $ip = explode(".",$ip);
    if(eregi("(,*,|,*.|,*)|(".$ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*)?)",",".$ip_str.","))return true;
}
if(StopIp($ip,$ip_str))echo 1;


function StopIp($ip,$ip_str)
{
        if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
        $ip = explode(".",$ip);
        if(eregi("(,*,|,*.|,*)|,(".$ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*),?)",",".$ip_str.","))return true;
}

function StopIp($ip,$str)
{
    if(stristr(",".$str.",",$ip))return true;//如果在在范围内就不允许
    if(stristr(",".$str.",",",*,") || stristr(",".$str.",",",*"))return true;//如果首次出现,*. 或者 ,* 表示所有站点都不允许
    $iplist = explode(",",$str);
    $ip = explode(".",$ip);
    for($i = 0;$i<count($iplist);$i++)
    {
        if(eregi($ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*)?",$iplist[$i]))return true;
    }
}
//测试
$ip_str = "127.0.0.1,192.1.1.*,202.*,127.*,123.*";//这个是屏蔽的ip列表 以","隔开,如果要屏蔽所有ip请用* 如果想屏蔽127.开头的ip格式为 127.*
$ip = "137.0.0.2"; //需要验证的Ip
if(StopIp($ip,$ip_str))echo 1;


for($i=1;$i<=255;$i++)
{
for($k=1;$k<=255;$K++)
{
for($a=1;$a<=255;$a++)
{
$str .= "192.{$i}.{$k}.{$a}";
}
}
}
这样就能生产 255*255*255 很大的Ip数据量了

我这是看看dede里面的一段代码,他是用php正则把html文件的内容中的img src 中的图片地址获取然后再上传到本地服务器中哦,下面我们来看看是如何写的吧.

$body="中国WEB第一站<img src=http://www.111cn.net/a.gif>";

preg_match_all("/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);

echo "捕获的图片:";
print_r($img_array);

输出结果是不能你代码的图片地址呢.

结果.http://www.111cn.net/a.gif

<?php
if ( $_SERVER [ 'REQUEST_METHOD' ]== "POST" ){
// Get UserNames and Passwords.
$Logi = file ( "users/log.txt" );
// Work out how many there are
$size = sizeof ( $Logi );
// Break apart passwords and usernames
foreach( $Logi as $Key => $Val )
{ $Data [ $Key ] = explode ( "||" , $Val ); }
// run through list and see if any match
for( $K = 0 ; $K < $size ; $K ++)
{
$user = $Data [ $K ][ 0 ];
$pass = $Data [ $K ][ 1 ];
// If match set cookie and redirect.
if ( $user == trim ( addslashes ( $_POST [ "user" ])) && $pass == trim ( addslashes ( $_POST [ "pass" ])) )
{
setcookie ( "in" , 1 , time ()+ 3600 );
// Start hidden page
header ( "Location: www.111cn.net" );
}
}
echo "Login Failed." ;
// If you didnt log in show login form
} else { ?>
<div style="width:250px">
<div><strong>Black Sheep E-Team Login</strong></div>
<div><form name="Login" method="post" action=" <?=$_SERVER [ 'PHP_SELF' ]; ?> ">
<div align="right">Username:
<input name="user" type="text" >
<br>
Password:
<input name="pass" type="password" >
<br>
<input type="submit" name="Submit" value="Submit">
</div>
</form>
</div></div>
<?php
}
?>

[!--infotagslink--]

相关文章

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

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

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • 解决Pycharm的项目目录突然消失的问题

    今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • 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