PHP 支持中文目录和文件的的遍历:文件编码转换
在使用 readdir() 遍历指定目录时,使中文目录和文件名都正常显示需要使用 iconv() 进行文件编码转换:
<?php
header("Content-type:text/html;charset=utf-8");
$num = 0;
$dirname = 'practise';
$dirname = iconv( 'utf-8', 'gb2312',$dirname );
$dir_handle = opendir($dirname);
echo '<table border="0" align="center" width="600" cellspacing="0" cellpadding="0">';
echo '<caption><h2>目录'.$dirname.'下面的内容</h2></caption>';
echo '<tr align="left" background="#ccc">';
echo '<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th></tr>';
while($file = readdir($dir_handle)){
$file1=iconv('gb2312','utf-8',$file);
$dirFile = $dirname."/".$file;
$bgcolor = $num++%2==0?'#fff':'#ccc';
echo '<tr bgcolor='.$bgcolor.'>';
echo '<td>'.$file1.'</td>';
echo '<td>'.filesize($dirFile).'</td>';
echo '<td>'.filetype($dirFile).'</td>';
echo '<td>'.date("Y-n-t",filemtime($dirFile)).'</td>';
echo '</tr>';
}
echo '</table>';
closedir($dir_handle);
echo '在<b>'.$dirname.'</b>目录下的子目录和文件共有<b>'.$num.'</b>个';
在页面中显示:
目录practise下面的内容
| 文件名 | 文件大小 | 文件类型 | 修改时间 |
|---|---|---|---|
| . | 0 | dir | 2014-10-31 |
| .. | 0 | dir | 2014-10-31 |
| js | 0 | dir | 2014-10-31 |
| mysql | 0 | dir | 2014-10-31 |
| php | 0 | dir | 2014-10-31 |
| 想一点记一点.txt | 1975 | file | 2013-6-30 |
| 正则 | 0 | dir | 2014-10-31 |
在practise目录下的子目录和文件共有7个
否则显示:
目录practise下面的内容
| 文件名 | 文件大小 | 文件类型 | 修改时间 |
|---|---|---|---|
| . | 0 | dir | 2014-10-31 |
| .. | 0 | dir | 2014-10-31 |
| js | 0 | dir | 2014-10-31 |
| mysql | 0 | dir | 2014-10-31 |
| php | 0 | dir | 2014-10-31 |
| ��һ����һ��.txt | 1975 | file | 2013-6-30 |
| ���� | 0 | dir | 2014-10-31 |
在practise目录下的子目录和文件共有7个
同样,使用 fread() 函数中输出字符时,也可以使用这种方法:
$fp = fopen('data.txt','r') or die("文件打开失败");
fseek($fp,-10,SEEK_END);
echo fread($fp,10)."<br>";
这段代码的意思是将指针移到倒数第10个字节位置处,并输出最后10个字符
data.txt如下:
updating your profile with your name
2014年10月28日 #
jQuery 图片剪裁插件初探之 Jcrop
摘要: 主页:http://deepliquid.com/content/Jcrop.html官方下载地址:http://deepliquid.com/content/Jcrop_Download.html下载包中除了 CSS 文件夹和 js 文件夹外还提供了几款 demo:1. non-image.htm...阅读全文
posted @ 2014-10-28 17:19 dee0912 阅读(9) 评论(0) 编辑
2014年10月27日 #
PHP fwrite() 函数与 file_put_contents() 函数的比较
摘要: 两个 PHP 函数都可以把字符串保存到文件中,fwrite() 函数的格式是:int fwrite ( resource handle , string string [ , int length] )它只能写入字符串。file_put_contents() 函数的格式是:int file_put_...阅读全文
posted @ 2014-10-27 22:48 dee0912 阅读(5) 评论(0) 编辑
jQuery 图片剪裁插件使用之 imgAreaSelect
摘要: 插件主页:http://odyniec.net/projects/imgareaselect/官方网站上说明支持的浏览器:The plugin works in all major browsers, including Firefox 2+, Opera 9.5+, Google Chrome, ...阅读全文
posted @ 2014-10-27 16:12 dee0912 阅读(9) 评论(0) 编辑
2014年10月26日 #
PHP 支持中文目录和文件的的遍历
摘要: 在使用 readdir() 遍历指定目录时,使中文目录和文件名都正常显示需要使用 iconv() 进行文件编码转换: 1 ';13 echo '目录'.$dirname.'下面的内容';14 echo '';15 echo '文件名文件大小文件类型修改时间';16 17 while($file = ...阅读全文
posted @ 2014-10-26 12:43 dee0912 阅读(7) 评论(0) 编辑
此时输出的字符是:
) ±à¼
把上面的代码进行文件编码转换:
$fp = fopen('data.txt','r') or die("文件打开失败");
fseek($fp,-10,SEEK_END);
echo iconv('gb2312','utf-8',fread($fp,10))."<br>";
输出:
) 编辑
PHP 支持中文目录和文件的的遍历:文件编码转换的更多相关文章
- python (9)统计文件夹下的所有文件夹数目、统计文件夹下所有文件数目、遍历文件夹下的文件
命令:os 用到的:os.walk os.listdir 写的爬虫爬的数据,但是又不知道进行到哪了,于是就写了个脚本来统计文件的个数 #统计 /home/dir/ 下的文件夹个数 import o ...
- linux c 判断文件存在,遍历文件,随机修改文件内容
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<assert.h> #in ...
- Java压缩/解压.zip、.tar.gz、.tar.bz2(支持中文)
本文介绍Java压缩/解压.zip..tar.gz..tar.bz2的方式. 对于zip文件:使用java.util.zip.ZipEntry 和 java.util.zip.ZipFile,通过设置 ...
- 在Vs code中使用sftp插件以及连接windows远程sftp协议部署指导(解决vscode的sftp插件中文目录乱码问题)
一.启动SFtp 二.上手vs code SFTP插件 2.1 初始配置 2.2解决乱码问题 三.SFTP配置 3.1常用配置 3.2示例配置 四.SFTP使用 五.扩展阅读 一.启动SFtp 话说小 ...
- 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息
在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...
- windows linux 文件编码转换
查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vi ...
- python os.walk()遍历文件夹
转自 http://alanland.iteye.com/blog/612459 via @alanland 今天第一次进行 文件遍历,自己递归写的时候还调试了好久,(主要因为分隔符号的问题),后来发 ...
- TypeScript ES6-Promise 递归遍历文件夹中的文件
貌似很多人都爱用这个作为写文章的初尝试,那来吧.遍历文件夹下的所有文件,如遍历文件夹下并操作HTML/CSS/JS/PNG/JPG步骤如下:1.传入一个路径,读取路径里面所有的文件:2.遍历读取的文件 ...
- Windows下C++遍历文件夹中的文件
Windows下,在VS中开发,C++遍历文件夹下文件. 在Windows下,遍历文件所用到的函数和结构体,需要在程序中包含头文件#include <io.h>,在VS中,头文件io.h实 ...
随机推荐
- editplus快捷键大全
Eclipse快捷键 10个最有用的快捷键 1. ctrl+shift+r:打开资源 ctrl+b编译 ctrl+d删除 2. ctrl+o:快速outline --->这个是查看一个类中的用 ...
- 字典树(Trie树)的实现及应用
>>字典树的概念 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树.与二叉查找树不同,Trie树的 ...
- 字符串匹配与KMP算法实现
>>字符串匹配问题 字符串匹配问题即在匹配串中寻找模式串是否出现, 首先想到的是使用暴力破解,也就是Brute Force(BF或蛮力搜索) 算法,将匹配串和模式串左对齐,然后从左向右一个 ...
- !!!四种常见的 POST 提交数据方式(含application/json)
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...
- html 表单 dom 注意跟表单的name值一致
html 表单 dom 注意跟表单的name值一致 <script type="text/javascript"> function checkForm() { var ...
- 在HTML中优雅的生成PDF
关键代码<script type=</text> </para> <para align=" value=" ...
- 区间dp总结
poj 1141 Brackets Sequence 基础的区间dp题,注意dp边缘的初始化,以及递归过程中的边界 poj 2955 Brackets 依旧注意初始化,水题 hdu 4745 Two ...
- Sonar+Hudson+Maven构建系列之二:迁移Sonar
摘要:由于昨天在一台机器上安装的东西太多了,导致Linux机器上非常卡,一台Linux负担了jira, fisheye, confluence, sonar, hudson, mysql 等等,本来已 ...
- ./configure会报错:pr command not found
1.2 安装coreutils 请检查${MinGWDir}/msys/1.0/bin(默认为C:/MinGW/msys/1.0/bin)下有没有pr.exe,如果没有,那么在编译libav过程 ...
- 铭飞MCMS内容管理系统完整开源版J2EE代码
当前版本:4.6.0铭飞MS官网:http://ms.mingsoft.net官网同时提供一键运行版本下载,请步移官网....QQ交流群号1:221335098很多人说铭飞MCMS是大天朝国唯一完整开 ...