PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

導入 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

導入

導入 – システムフォルダの位置の取得

貢献者

  • Christian Weiske

説明

System_Folders は ホームディレクトリやデスクトップ、そして "マイ ドキュメント" などのさまざまなシステムフォルダの位置を取得するメソッドを提供します。 ほぼすべてのオペレーティングシステム上で使用することができます (Linux、Windows および Mac OS で動作します)。また、 OS 固有のプログラムを書くことも可能です。

このクラスのメソッドは、ディレクトリの位置を表す文字列を (最後のスラッシュも含めて) 返します。ディレクトリが定義されていなかったり 存在しない場合は NULL を返します。例えば、 "共有ドキュメント" フォルダは Windows にしか存在しません。 getSharedDocuments() を Mac や Linux で実行すると、NULL を返します。

このクラスは、環境変数を多用します。つまり、PHP を (Apache などの) サーバモジュールとして実行した場合は、 ユーザ情報が取得できずにメソッドがうまく動作しない可能性もあります。 コマンドライン (cli) のスクリプトとして実行すると、うまくいきます。 このクラスは、そのような使用法を想定しています。

取得できるフォルダと、そのメソッド
フォルダ 使用するメソッド 備考
All users ディレクトリ getAllUsers() Windows 限定
Application data getAppData()
デスクトップ getDesktop()
Documents / マイ ドキュメント getDocuments()
ホームディレクトリ getHome()
Programs フォルダ (プログラムがインストールされているところ) getPrograms()
テンポラリフォルダ getTemp()
共有ドキュメント getSharedDocuments() Windows 限定
Windows ディレクトリ getWindows() Windows 限定

System_Folders_Cached

環境変数を一通り調べてフォルダが存在するかどうか調べたり 一般的なフォルダの位置を調べたりといった一連の処理が、 getXXX() をコールするたびに行われます。 つまり、同じメソッドを何度もコールしたとすると そのたびに CPU に同程度の負荷がかかり、 アプリケーションの動作も遅くなってしまうでしょう。

また、別の問題としては、 (例えばユーザがあまり一般的でない設定を行っている場合などに) 何かのメソッドが失敗したり正しい値を返さなかったりすることが考えられます。

これらの問題を解決するのが System_Folders_Cached です。これは、キャッシュに対応した getXXX() メソッドを提供します。 つまり、そのメソッドを最初にコールしたときの結果がローカルに保存され、 その後に同じメソッドがコールされるたびに保存された結果を返します。 これにより、同じメソッドを続けて大量にコールする際の速度が上がります。

さらに、このクラスを使用すると、フォルダの場所を設定して その内容を ini ファイルに保存することができます。保存するには saveToFile() を、そしてそれを読み込むには loadFromFile() を使用します。 これを使用すると、フォルダの場所をカスタマイズし、 それを複数セッションで共用することができます。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「導入」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 導入」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: