2017-05-31 10 views
0

は、私は次のディレクトリ構造を持っている:検索ディレクトリパス(再帰的)に一致するディレクトリ名

/mnt/disk/documents 
/mnt/disk/data/files/ 
/mnt/disk/data/morefiles/ 

マウントポイントdisk/は可変です。私はdata/からすべてのファイルを取得する必要があり、それはサブディレクトリです。私はglobでファイルをリストする方法を知っていますが、この場合、最初にディレクトリdataとすべてのファイルを再帰的に見つける必要があります。

最初から完全なパスを知らずに、どうすればいいですか?

+0

単純な使用realpath(文字列$パス); –

+0

完全なパスがわからないのはなぜですか?この場合、 'disk'マウントポイントはあなたのスクリプトにどのように注入されますか? – k0pernikus

+0

ユーザーは/ mntの下にデバイスをマウントし、マウントポイントを作成します。私はmoutpointの名前を知っていませんが、デバイス上に 'data'というディレクトリがあることはわかっています。 – MikeSkril

答えて

0

片道。

realpath (string $path); 

のrealpath()は、すべてのシンボリックリンクを展開し、入力経路に「/./」、「/../」および余分な「/」文字への参照を解決し、正規化された絶対パス名を返します。

例:

PHP:

<?php 
    echo realpath('/windows/system32'); 

    echo realpath('C:\Program Files\\'); 
    ?> 

結果:

C:\WINDOWS\System32 
C:\Program Files 

簡単な方法。質問があれば、私は答えようとします。

+0

はい、私は/ mnt /内のディレクトリが何であるかわかりません。/mnt/disk、/ mnt/disk1、または別のディレクトリ名にすることができます。私はrealpathを使って、/ mntの変数サブフォルダ内のディレクトリ 'data'をどのように見つけることができないのか分かりません。 – MikeSkril

+0

現在の作業ディレクトリがあれば入手できます。 "getcwd();" - 現在の作業ディレクトリを取得します。このリンクの詳細を参照してください。http://php.net/manual/en/function.getcwd.php –

+0

ありがとうございます。しかし、私はそれを探していません。 – MikeSkril

関連する問題