ホームページ php教程 php手册 PHP 遍历文件实现代码

PHP 遍历文件实现代码

Jun 06, 2016 pm 08:36 PM
php

小笔记, PHP 遍历所有文件, 包括子目录中的文件. 和压缩文件的类结合起来的话, 就可以打包整个目录了.

代码如下:
function Files($path)
{
foreach(scandir($path) as $line)
{
if($line=='.'||$line=='..') continue;
if(is_dir($path.'/'.$line)) Files($path.'/'.$line);
else echo '
  • '.$path.'/'.$line.'
  • ';
    }
    }

    PHP遍历文件及文件夹
    加入给定文件夹 C:\\Windows\\AppPatch
    1.首先获取这个文件夹下面的所有东西,也就是文件,文件夹,放一个数组里面
    $fileArr = array(
    'files' => array(), //文件放一个数组
    'dirs' => array(), //文件夹放一个数组
    )
    2.如果存在子文件夹,遍历子文件夹,获取文件夹和文件,同样放进那个数组,如此循环,一个不漏
    代码如下:
    $dir = 'F:\\game';
    function read_dir_all($dir) {
    $ret = array('dirs'=>array(), 'files'=>array());
    if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
    if($file != '.' && $file !== '..') {
    $cur_path = $dir . DIRECTORY_SEPARATOR . $file;
    if(is_dir($cur_path)) {
    $ret['dirs'][$cur_path] = read_dir_all($cur_path);
    } else {
    $ret['files'][] = $cur_path;
    }
    }
    }
    closedir($handle);
    }
    return $ret;
    }
    $p = read_dir_all($dir);
    echo '

    1

    '; <br>var_dump($p); <br>echo '

    ログイン後にコピー
    ';
    ?>

    php遍历一个文件夹下的所有目录及文件
    在面试中我们经常遇到这个题目:php遍历一个文件夹下的所有文件和子文件夹。
      这个题目有好多种解决方法。但大致思路都一样。采用递归。
    代码如下:
    $path = './filepath';
    function getfiles($path)
    {
    if(!is_dir($path)) return;
    $handle = opendir($path);
    while( false !== ($file = readdir($handle)))
    {
    if($file != '.' && $file!='..')
    {
    $path2= $path.'/'.$file;
    if(is_dir($path2))
    {
    echo ' ';
    echo $file;
    getfiles($path2);
    }else
    {
    echo ' ';
    echo $file;
    }
    }
    }
    }
    print_r( getfiles($path));
    echo '
    ';
    function getdir($path)
    {
    if(!is_dir($path)) return;
    $handle = dir($path);
    while($file=$handle->read())
    {
    if($file!='.' && $file!='..')
    {
    $path2 = $path.'/'.$file;
    if(is_dir($path2))
    {
    echo $file."\t";
    getdir($path2);
    }else
    {
    echo $file.' ';
    }
    }
    }
    }
    getdir($path);
    echo '
    ';
    function get_dir_scandir($path){
    $tree = array();
    foreach(scandir($path) as $single){
    if($single!='.' && $single!='..')
    {
    $path2 = $path.'/'.$single;
    if(is_dir($path2))
    {
    echo $single."\r\n";
    get_dir_scandir($path2);
    }else
    {
    echo $single."\r\n";
    }
    }
    }
    }
    get_dir_scandir($path);
    echo '

    ';
    function get_dir_glob(){
    $tree = array();
    foreach(glob('./curl/*') as $single){
    echo $single."\r\n";
    }
    }
    get_dir_glob();
    echo '

    ';
    function myscandir($path)
    {
    if(!is_dir($path)) return;
    foreach(scandir($path) as $file)
    {
    if($file!='.' && $file!='..')
    {
    $path2= $path.'/'.$file;
    if(is_dir($path2))
    {
    echo $file;
    myscandir($path2);
    }else
    {
    echo $file.' ';
    }
    }
    }
    }
    myscandir($path);
    echo '
    ';
    function myglob($path)
    {
    $path_pattern = $path.'/*';
    foreach(glob($path_pattern) as $file)
    {
    if(is_dir($file))
    {
    echo $file;
    myscandir($file);
    }else
    {
    echo $file.' ';
    }
    }
    }
    myglob($path);
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

    この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

    Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

    PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

    CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

    Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

    CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

    ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

    CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

    この章では、ルーティングに関連する次のトピックを学習します。

    CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

    CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

    CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

    Validator は、コントローラーに次の 2 行を追加することで作成できます。

    CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

    CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

    See all articles