读取某个目录下的文件

<?php
 /*
  PHP Version:  28 April 2005
  Author:  move2rent
  purpose:读取某个目录下的文件
 */

 //要读取的目录
 $folder="H:/temp";

 //打开目录
$fp=opendir($folder);

 //阅读目录
while(false!=$file=readdir($fp))
{
//列出所有文件并去掉'.'和'..'
    if($file!='.' &&$file!='..')
    {
        //$file="$folder/$file";
        $file="$file";

        //赋值给数组
        $arr_file[]=$file;

        }
}
 //输出结果
 if(is_array($arr_file))
 {
    while(list($key,$value)=each($arr_file))
    {
        echo "$key=>$value<br>";
    }

   }

//关闭目录

closedir($fp);

?>

---------------------------------------------------------
读取某个目录下的文件2

<?php

/*PHP Version:  30 April 2005
  Author:  move2rent
  purpose:读取某个目录下的文件二*/


/*-------------------------------------------------------------------------*/

function listFiles($dir)
{
    //打开目录


    $handle=opendir($dir);

    //阅读目录

    while(false!=($file=readdir($handle)))

    {
         //列出所有文件并去掉'.'和'..'

         if($file!='.'&&$file!='..')

         {

            //所得到的文件名是否是一个目录

             if(is_dir("$dir/$file"))

             {
                //列出目录下的文件

                 listFiles("$dir/$file");

             }

             else

             {
                    //如果是文件则打开该文件


                    $fp=fopen("$dir/$file","r");


                    //阅读文件内容

                    $data=fread($fp,filesize("$dir/$file"));

                    if($data)

                    //将读到的内容赋值给一个数组

                     $file_array[]="$dir/$file";

                        /*foreach($file_array as $key=>$value)
                        {
                            echo "$value<br>";
                           }
                           */
                       //echo count($file_array);

                       //输出结果

                      while(list($key,$value)=each($file_array))
                       {
                             echo"$key=>$value<br>";
                        }
               }

             }
         }
    }

 /*-------------------------------------------------------------------------*/
    //调用

    $dir="H:/temp";

    listFiles($dir);

?>

----------------------------------------------------------------------------------------
如果该目录不存在则创建它

<?php

 /*
  PHP Version:  28 April 2005
  Author:  move2rent
  purpose:读取某个目录下的文件,如果该目录不存在则创建它
 */

 $folder="H:/temp1";

 //打开目录
@$fp=opendir($folder);

   //如果该目录不存在则创建它
    if(!$fp)
   {

       //创建目录
        mkdir($folder);

        //修改该目录的权限
        chmod($folder,'0755');

        echo " the folder create success!";

    }

    else
    {
        echo " the folder have exists.";
    }

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个实现该功能的Python脚本: ```python import os import csv import hashlib def get_files_info(dir_path): file_list = [] for root, dirs, files in os.walk(dir_path): for file in files: file_path = os.path.join(root, file) file_size = os.path.getsize(file_path) mod_time = os.path.getmtime(file_path) sha256 = get_sha256(file_path) file_list.append([file, file_size, mod_time, file_path, sha256]) return file_list def get_sha256(file_path): with open(file_path, 'rb') as f: hash_obj = hashlib.sha256() while True: data = f.read(1024) if not data: break hash_obj.update(data) return hash_obj.hexdigest() def write_to_csv(file_list, csv_file): with open(csv_file, mode='w', newline='') as f: writer = csv.writer(f) writer.writerow(['File Name', 'File Size', 'Modification Time', 'File Path', 'SHA-256']) for file_info in file_list: writer.writerow(file_info) if __name__ == '__main__': dir_path = '/path/to/directory' csv_file = 'file_info.csv' file_list = get_files_info(dir_path) write_to_csv(file_list, csv_file) ``` 该脚本首先定义了`get_files_info()`函数,该函数接受一个目录路径作为参数,并使用`os.walk()`函数遍历该目录及其子目录下的所有文件。对于每个文件,该函数获取文件名、文件大小、修改时间和文件路径,并调用`get_sha256()`函数计算文件的SHA-256属性,并将这些信息存储在一个列表中。最后,该函数返回该列表。 `get_sha256()`函数接受一个文件路径作为参数,并使用Python的`hashlib`模块计算该文件的SHA-256值。 `write_to_csv()`函数接受一个包含文件信息的列表和一个CSV文件名作为参数,并使用Python的`csv`模块将文件信息写入到CSV文件中。 在脚本的主程序中,我们指定要遍历的目录路径和要输出的CSV文件名,并调用`get_files_info()`和`write_to_csv()`函数。运行脚本后,CSV文件将包含文件名、文件大小、修改时间、文件路径和SHA-256属性的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值