php批量删除指定文件夹中指定后缀名文件
直接上代码:
下面的例子我们是以删除指定目录的html为例子哦,如果你要其它文件我们只要把html改成你自己要删除的后缀名就可以了。
代码如下 | 复制代码 |
<?php $lanmu = array("action","tiyu","yizhi","sheji","gaoxiao","maoxian","qipai","celue","minjie","xiuxian","ertong","jingying","webgame"); foreach($lanmu as $v2){ $mstdel[] =glob(getcwd().DIRECTORY_SEPARATOR.$v2.DIRECTORY_SEPARATOR.'[1-9]*.html'); } //var_dump($mstdel); //var_dump(count($mstdel)); $i=0; foreach($mstdel as $val){ foreach($val as $val2){ //echo $val2."<Br>"; if(unlink($val2)) $i++; //$countval2[] = $val2; } } echo 'del success: '.$i; //echo count($countval2); //var_dump(glob(getcwd().DIRECTORY_SEPARATOR.'sheji'.DIRECTORY_SEPARATOR.'[1-9]*.html')); //var_dump(glob('./sheji/[1-9]*.html')); //var_dump(glob('./sheji/[^index]*.html')); //array_walk(glob(getcwd().'/sheji/[1-9]*.html'),'unlink'); //array_walk(glob('./sheji/[1-9]*.html'),'unlink'); //array_walk(glob(getcwd().DIRECTORY_SEPARATOR.'sheji'.DIRECTORY_SEPARATOR.'[1-9]*.html'),'unlink'); //var_dump(DIRECTORY_SEPARATOR); //var_dump(unlink('D:shanmaowwwwwwroottiantangtvxyxh4cc/sheji/20312.html')); ?> |
例子
public function del(){
header("Content-Type: text/html; charset=UTF-8");
echo '点击文件名可以查看:<br>';
$dir =getcwd()."/html/";
//获取某目录下所有文件、目录名(不包括子目录下文件、目录名)
$handler = opendir($dir);
while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名“0”等情况
if ($filename != "." && $filename != "..") {
$files[] = $filename ;
}
}
closedir($handler);
//打印所有文件名
foreach ($files as $value) {
$url = 'http://'.$_SERVER['HTTP_HOST']."/html/".$value;
echo "<a href='".$url."' target='_blank'>".$value."</a> | <a href='/index.php?s=/Index1/dodel/name/".$value."' target='_self'>删除</a><br />";
}
}
public function dodel(){
header("Content-Type: text/html; charset=UTF-8");
$fname = $this->_get("name");
$fname = getcwd()."/html/".$fname.".html";
if(unlink($fname)){
echo $fname.' 文件删除成功!<a href="javascript:history.go(-1);">返回</a>';
}else{
echo $fname.' 删除失败!<a href="javascript:history.go(-1);">返回</a>';
}
}
获取目录下所有文件,包括子目录
代码如下 | 复制代码 |
function get_allfiles($path,&$files) { if(is_dir($path)){ $dp = dir($path); while ($file = $dp ->read()){ if($file !="." && $file !=".."){ get_allfiles($path."/".$file, $files); } } $dp ->close(); } if(is_file($path)){ $files[] = $path; } } function get_filenamesbydir($dir){ $files = array(); get_allfiles($dir,$files); return $files; } $filenames = get_filenamesbydir("static/image/"); //打印所有文件名,包括路径 foreach ($filenames as $value) { echo $value."<br />"; } |
php删除文件夹及其文件夹下所有文件
代码如下 | 复制代码 |
function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deldir($fullpath); } } } closedir($dh); //删除当前文件夹: if(rmdir($dir)) { return true; } else { return false; } } |
今天本地调试,有个cookies死活都写不进去,环境如下:
域名:111cn.net
浏览器:chrome34
代码:
代码如下 | 复制代码 |
header("Content-type: text/html; charset=utf-8"); if (isset($_COOKIE['test'])) { echo '获取到的cookies是:'.$_COOKIE['test']; } elseif (setcookie('test', 'okh', time() + 3600, '/', '.111cn.net')) { echo '设置cookies:test'; } else { echo '什么都没有'; } |
用111cn.net访问,上面这段代码在chrome下一直设置成功,但是却一直都没记录。找了半天原因,一朋友从手册上告诉我:
The domain that the cookie is available to. Setting the domain to ‘www.example.com’ will make the cookie available in the www subdomain and higher subdomains. Cookies available to a lower domain, such as ‘example.com’ will be available to higher subdomains, such as ‘www.example.com’. Older browsers still implementing the deprecated » RFC 2109 may require a leading . to match all subdomains.
于是我做了这么一个调整:
用www.111cn.net进行访问
修改之前的代码为
1
setcookie('test', 'okh', time() + 3600, '/', 'www.111cn.net')
这下正常设置,也正常记录了。
但是存在2个问题:
如何设置不带WWW的域名的cookies呢?比如:111cn.net
设置www.111cn.net虽然能在www.111cn.net下使用,但是却不能在111cn.net下使用,如何设置cookies使其通用呢?
通过求助,得知原因如下:
这个域名特殊。火狐、chrome不认为 www.111cn.net 是 111cn.net 的二级域名:
代码如下 | 复制代码 |
var eTLDService = Components.classes["@mozilla.org/network/effective-tld-service;1"] .getService(Components.interfaces.nsIEffectiveTLDService); eTLDService.getBaseDomain(gBrowser.selectedTab.linkedBrowser.currentURI); /* www.111cn.net */ |
111cn.net 在 effective_tld_names.dat 文件中列出来了:
a.org
b.cn
原来是这么一个小问题,困扰了我一天,原本是为了方便,所以将这个域名作为自己本地开发用,结果出现这个情况,只好将111cn.net修改为1a.com
有的网站有很多的 CSS 文件,如果将它们合并到一起并且进行 Gzip 压缩会减少请求和文件大小,有利于提高网站加载速度。为了方便我不推荐人工压缩和合并 CSS,而是使用 PHP 代码。首先将所有 CSS 放到一个目录里,然后在此目录新建一个空的 CSS 文件,命名为 css.php(其实除了后缀命名随便)。
然后在 PHP 文件里放下边的代码:
代码如下 | 复制代码 |
<?php 引入 CSS 文件的代码换成引入这个 PHP 文件,例如:
|
压缩多个css为一个css
代码如下 | 复制代码 |
<?php Use the same code for Javascript, but replace below "text/css" with "text/javascript" and of course make sure you include .js files instead of .css ones. include('somefile.css'); ob_flush(); |
下面整理可压缩css,js的函数
代码如下 | 复制代码 |
|
PHP 文件里就包含了所有被压缩的 CSS 代码,而且可以自动引入 CSS 目录里的所有 CSS 文件,不用在新建 CSS 文件的时候再修改这个 PHP 文件。
前端时间做一个APP后台时用户要求用户的评论以xx分钟前这种格式显示,给用户以良好的体验,于是笔者写了次函数。本函数主要是利用PHP计算两个时间之间的差值,通过差值来转换,虽然代码很简单,但是很实用。代码如下 | 复制代码 |
<?php /** * 时间差计算 * * @param Timestamp $time 时间差 * @return String Time Elapsed * @author jakehu (http://www.111cn.net/) */ function time2Units ($time) { $year = floor($time / 60 / 60 / 24 / 365); $time -= $year * 60 * 60 * 24 * 365; $month = floor($time / 60 / 60 / 24 / 30); $time -= $month * 60 * 60 * 24 * 30; $week = floor($time / 60 / 60 / 24 / 7); $time -= $week * 60 * 60 * 24 * 7; $day = floor($time / 60 / 60 / 24); $time -= $day * 60 * 60 * 24; $hour = floor($time / 60 / 60); $time -= $hour * 60 * 60; $minute = floor($time / 60); $time -= $minute * 60; $second = $time; $elapse = ''; $unitArr = array('年前' =>'year', '个月前'=>'month', '周前'=>'week', '天前'=>'day', '小时前'=>'hour', '分钟前'=>'minute', '秒前'=>'second' ); foreach ( $unitArr as $cn => $u ) { if ( $year > 0 ) {//大于一年显示年月日 $elapse = date('Y/m/d',time()-$time); break; } else if ( $$u > 0 ) { $elapse = $$u . $cn; break; } } return $elapse; } $past = 1390000000; //起点时间 $diff = time() - $past;//时间差 echo '发表于' . time2Units($diff) . '前'; ?> |
相关文章
- php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
- 这篇文章详细介绍了C#文件后缀名,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了解决IDEA target文件夹越来越大的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
C#使用FolderBrowserDialog类实现选择打开文件夹方法详解
这篇文章主要介绍了C#选择文件夹/打开文件夹/浏览文件夹等代码方法,大家参考使用...2020-06-25- 这篇文章主要介绍了C#获取图片的后缀名解析,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#编程实现获取文件夹中所有文件的文件名,可实现获取特定目录下制定类型文件名称的功能,涉及C#针对文件与目录的遍历、查询等操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了Linux下统计当前文件夹下的文件个数、目录个数,本文使用ls命令配合管理、grep命令实现统计需求,需要的朋友可以参考下...2020-07-11
- 为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件 <?php //功能:遍历并打印指定目录下所有文件 function scan_dir($dir_name,$dir_flag=1) { static $FILE_COUNT=1; //记录文件数目 初值为1...2015-11-08
- 这篇文章主要介绍了C#编程实现统计文件夹内文件和隐藏文件的方法,结合具体实例形式分析了C#针对文件与目录的遍历及属性操作相关技巧,需要的朋友可以参考下...2020-06-25
- 今天想把我的音乐里面500首的mp3都拷到手机里,不过这些mp3都有很多层目录,而且每首歌曲都还有歌词文件,我只想留下mp3,歌词文件都删掉,就写了个小程序跑一下,比手动删快多了...2020-06-25
- 这是一个比较实现的函数我们可以自定义要删除那些目录保存在一个数据中,然后我们根据数据进行遍历并且删除目录下指定文件了,具体代码如下。 直接上代码: 下面的例子...2016-11-25
- 这篇文章主要介绍了C#监控文件夹变化的方法,通过FileSystemWatcher类的方法来实现对文件夹的监控,是非常实用的技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#递归实现显示文件夹及所有文件并计算其大小的方法,是遍历算法中比较典型的一种应用,有不错的学习借鉴价值,需要的朋友可以参考下...2020-06-25
- 有时候我们需要获取当前vbs脚本所在的文件夹,或者运行当前脚本文件夹中的文件那么就需要参考下面的代码了...2020-06-30
- 这篇文章主要为大家详细介绍了C#遍历文件夹获取指定后缀名文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了mysql批量删除大量数据的相关资料,需要的朋友可以参考下...2017-04-26
- 这篇文章主要介绍了C++删除指定文件夹下N天及之前日志文件的方法,涉及C++针对时间判断及文件操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-04-25
- 下面小编就为大家带来一篇winform 实现选择文件和选择文件夹对话框的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要介绍了C#简单遍历指定文件夹中所有文件的方法,结合实例形式分析了文件夹与文件遍历的技巧,并附带说明了文件与文件夹操作的常用函数,需要的朋友可以参考下...2020-06-25
- 对于不再需要的文件/文件夹用户有权限做删除处理。这一节就介绍如何实现这一功能...2021-09-22