php读取目录下的文件

工作需要写了一个读取指定目录下的文件,并显示列表,点击之后读取文件中的内容

高手拍砖,目录可以自由指定,我这里直接写的是获取当前文件目录下面的所有文件

</pre>
<?php

/**
 * 读取指定目录下面的文件内容
 * @author Administrator
 *
 */
class Catlog {

 /**
 * 要读取的目录
 * @var string
 */
 private $dir;

 /**
 * 文件名中必须存在
 * @var string
 */
 private $str = ‘ping‘;

 public function __construct() {
 $this->dir = getcwd();
 }

 public function test() {
 echo $this->dir;
 }

 /**
 * 获取指定目录下面的所有文件
 * @return array
 */
 public function getFile() {

 $dirArr = scandir($this->dir);
 $fileInfo = array();
 foreach( $dirArr as $k => $v ) {
 if( !is_dir($v) && strpos($v, $this->str) !== FALSE ) {

 $filePath = $this->dir . ‘/‘ . $v;

 $fileArr[‘ctime‘] = date(‘Y-m-d‘, filectime($filePath) );
 $fileArr[‘mtime‘] = date(‘Y-m-d‘, filemtime($filePath) );
 $fileArr[‘atime‘] = date(‘Y-m-d‘, fileatime($filePath) );
 $fileArr[‘fileName‘] = $v;

 $fileInfo[] = $fileArr;
 }
 }

 return $fileInfo;
 }

 /**
 * 获取某个文件的内容
 * @return multitype:number string
 */
 public function getFileContent() {

 if( isset($_GET[‘file_name‘]) && !empty($_GET[‘file_name‘]) ) {
 $fileName = $_GET[‘file_name‘];
 $fileFullPath = $this->dir . ‘/‘ . $fileName;

 if( !is_file($fileFullPath) && !file_exists($fileFullPath) ) {
 return $msg = array(‘error‘=>1, ‘msg‘=>‘文件不存在‘);
 } else {
 $content = file_get_contents($fileFullPath);
 return $msg = array(‘error‘=>0, ‘msg‘=>nl2br( $content) );
 }

 } else {
 return $msg = array(‘error‘=>1, ‘msg‘=>‘文件不存在‘);
 }

 }//end catFileContent

}

$cat = new Catlog();

$notic = $cat->getFileContent();

if( $notic[‘error‘] == 0 ) {
 echo $notic[‘msg‘];
} else {

//显示网页内容

?>

<!DOCTYPE html>
<html>
 <head>
 <style type="text/css">
 .time{ display:inline-block;
 margin-right:200px;
 float:right;
 }
 ol li { width:1000px; }
 .file-name{ width:260px; display:inline-block; overflow:hidden;
 white-space:nowrap;
 -moz-text-overflow:ellipsis;
 text-overflow:ellipsis; }
</style>
 </head>
 <body>
 <ol>
 <?php foreach($cat->getFile() as $k => $v ):?>
 <li>
 <a class="file-name" href="<?php echo ‘/catlog.php?file_name=‘ . $v[‘fileName‘];?>"><?php echo $v[‘fileName‘]?></a>
 <span class="time"><?php echo "创建时间:" . $v[‘ctime‘] . "&nbsp;&nbsp;修改时间: " .$v[‘mtime‘] . "&nbsp;&nbsp;上次阅读时间: " .$v[‘atime‘]?></span>
 </li>
 <?php endforeach;?>
 </ol>
 </body>
</html>
<?php
}////显示网页内容 END
?>
<pre>
时间: 2024-10-25 17:02:52

php读取目录下的文件的相关文章

利用perl读取目录下的文件列表

v1.0 #读取当前目录下的文件名列表 use strict; opendir TMP, "./" || die "cannot open dir"; open RES, ">./file_list.txt" || die "Cannot open and write"; foreach (readdir TMP){ if(/.+\.pdf/){ print RES "$_\n"; } } 原文地址:

C++ 递归读取目录下所有文件

windows版本 #include <iostream> #include <io.h> #include <fstream> #include <string> #include <sstream> using namespace std; void getAllFiles(string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct

os 读取目录下所有文件与文件夹

import os for root, dirs, files in os.walk(".", topdown=False): for name in files: print(os.path.join(root, name)) for name in dirs: print(os.path.join(root, name)) !!! 原文地址:https://www.cnblogs.com/zwp-627/p/11797532.html

读取目录下的所有文件

采用递归的方式,逐层读取目录下的文件 public void getFile(String path, List<String> fileList) {        File file = new File(path);        if (file.isDirectory()) {            File[] files = file.listFiles();            if (files != null) {                for (File sub

Python 读取某个目录下的文件

读取某个目录下的文件,如'/Users/test/test_kmls'目录下有test1.txt.test2.txt. 第一种方法读出的all_files是test1.txt.test2.txt 1 import os 2 3 kml_path=os.path.abspath('/Users/test/test_kmls') 4 all_files=os.listdir(kml_path) 5 for file in all_files: 6 print file 第二种方法可以获得文件的全路径

iOS案例:读取指定目录下的文件列表

// // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rights reserved. // /* *读取指定目录下的文件列表 */ #import <Foundation/Foundation.h> void myQuickMethod(); int main(int argc, const char * argv[]) { //文件操作对象 NSFil

Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法

这个问题是由于Myeclipse中文件不同步引起的.在Myeclipse中,工程文件是由Myeclipse自动扫描添加的,如果在外部修改了工程目录中的文件但又关闭了自动刷新功能,则会引起文件不同步.此外,在外部没有修改Myeclipse工程中的文件也有可能引起该问题. 解决方法: 有两种解决方法: 1)手动刷新.即在Myeclipse的工程目录中,右键refresh(或者按下F5). 2)配置Myeclipse的选项: a)Myeclipse启动时,刷新workspace,即勾选:window-

AssetsUtils【读取assets、res/raw、./data/data/包名/目录下的文件】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 封装了以下功能: 1.读取assets目录下的资源html.文件.图片,将文件复制到SD卡目录中: 2.读取res/raw目录下的文件内容: 3.读写./data/data/包名/下的文件: 效果图 代码分析 最常用的方法:getStringFromAssert(Context mContext, String assetsFilePath)[读取assets目录中的文件字符串] 使用步骤 一.项目组织结构图 注意事项: 1.  导入类

java读取某个目录下所有文件并通过el表达式将相关文件信息展示出来,js提供页面搜索及查看下载功能

从服务器上读取某个目录下的文件  将文件名 文件修改日期   及文件 大小展示在前台  并可以查看及下载 第一步:读取文件目录下的文件,并将文件按时间由大到小排列 public ArrayList<File> getLogs() { // TODO Auto-generated method stub ArrayList<File>  tomcatLogs = new ArrayList<File>(); File path = new File(""