2

Windows システムでは、バックアップ エージェントが元のファイルとほぼ同じ名前の一時隠しファイルを同じパスに作成しました。これは、おそらく PHP を使用するプロセスを妨げていましたscandir()

Windows 上の隠しフラグが設定されたファイルが PHP によって除外されるかどうか疑問に思っていましたscandir()

Linux スタイルの隠しファイルに関する記事がいくつかありscandir()ます。ドットで始まるファイルを無視する方法はありますが、Windows ファイルに関する情報はめったにありません。

4

2 に答える 2

1

簡単なテストでは、どちらscandir()glob()、または他の人も隠しフラグを処理しないことが示されています。

実験と結果は次のとおりです。

ここに画像の説明を入力

部品:

  • ウィンドウズ7
  • PHP 5.6.9 (x86)
  • Visual Studio 2012 再頒布可能 x86

scandir()表示フラグが設定されているファイルは非表示になりません。

次の質問は、より強力な PHP コマンドをglob()構成できるかどうかです。

まず、フラグを処理するパラメーターはありません。

http://php.net/manual/de/function.glob.php

次に、Gabriel S. Luraschi の次のようなコメントがあります。

http://php.net/manual/de/function.glob.php#110510

彼はお勧めしexec('dir ... \A ...')ます。ただし、商用ホスティング (Windows で実行されている場合) では、これは許可されません。

確かに: Linux スタイルを使用し、次のようにドットで始まるファイルを無視します。

scandir から隠しファイルを除外する

于 2015-05-17T18:38:24.737 に答える