例 – System_Folders の使用法

System_Folders の使用法

一般的な使用法

<?php
require_once 'System/Folders.php';

$sf = new System_Folders();

$arData = array(
'Username'         => $sf->getUserName(),
'Home'             => $sf->getHome(),
'Documents'        => $sf->getDocuments(),
'Shared documents' => $sf->getSharedDocuments(),
'Temp'             => $sf->getTemp(),
'Desktop'          => $sf->getDesktop(),
'AppData'          => $sf->getAppData(),
'Programs'         => $sf->getPrograms(),
'Windows'          => $sf->getWindows()
);

echo 
'System: ' $sf->getSys() . "\r\n";
var_dump($arData);
?>

まず最初に、新しい System_Folders オブジェクトのインスタンスを作成します。この中で OS が何であるかが判定され、その後のメソッドのコール時に使用されます。

そのため、後は単に getXXX() メソッドを使用するだけでフォルダの場所を取得できます。 場所が取得できなかった場合は NULL が返されることを覚えておきましょう。

System_Folders_Cached の使用法

一般的な使用法

<?php
require_once 'System/Folders/Cached.php';
$sf = new System_Folders_Cached();

// 設定ファイルのパスを表示します
echo '設定ファイル: ' $sf->getDefaultConfigFile() . "\r\n";

// 前回保存された設定を読み込みます
$err $sf->loadFromFile();

echo 
'Home:      ' $sf->getHome() . "\r\n";
echo 
'Documents: ' $sf->getDocuments() . "\r\n";

echo 
"\r\n";

$doc $sf->getDocuments();
if (
file_exists($doc)) {
    echo 
"新しいドキュメントディレクトリを設定します\r\n";
    
// 独自のドキュメントディレクトリを設定し、
    // 次に使用するときのためにそれを保存します
    
$sf->setDocuments('/strange/path/to/MyDocuments/');
    
$sf->saveToFile();
    echo 
'新しいドキュメントディレクトリ: ' $sf->getDocuments() . "\r\n";
    echo 
"このプログラムを再実行すると、パスがデフォルトに戻されます\r\n";
} else {
    
// パスをクリアします
    
echo "ドキュメントディレクトリの設定を解除します\r\n";
    
$sf->setDocuments(null);
    
$sf->saveToFile();
    echo 
'新しいドキュメントディレクトリ: ' $sf->getDocuments() . "\r\n";
}
?>

この例は、まず (フォルダの設定が保存されている) 設定ファイルの場所を表示します。それからいくつかのフォルダの場所を示し、 ドキュメントディレクトリを別の場所 (おそらく存在しないであろう場所) に設定してそれを保存します。

このプログラムをもう一度実行すると、ドキュメントディレクトリが 通常の場所にもどされ、もう一度保存されます。

システムフォルダの位置の取得 (Previous) System_Launcher (Next)
Last updated: Tue, 23 Sep 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.