PHPでユーザーディレクトリのパスを見つける方法はありますか?
MAC OS XI では$_SERVER['DOCUMENT_ROOT']
、ドキュメントが取得されているパスを見つけるために使用できます。このパスは次のとおりです。
/Users/jmlopez/www
httpd.conf
ファイルを変更したため、自分のコンピューターで。に設定されていたと思います/Library/WebServer/Documents
。私の大学のサーバーでは、次のように設定されています。
/home/www/html
doc.html
というフォルダから取得したい場合は、testFolder
単純に$_SERVER['DOCUMENT_ROOT'].'/testFolder/doc.html'
. これはうまく機能しますが、ユーザー ページにあるドキュメントを参照する方法がわかりません。
Mac OS X
ユーザーページは次の場所に設定されています。
/Users/USERNAME/Sites
Linux サーバー
私の大学のサーバーのユーザーページは
/home/www/users/USERNAME/www
このパスをphpで取得する方法はありますか、それとも分析する必要があり$_SERVER['SCRIPT_FILENAME']
ますか?
私の現在の解決策
を取得するための私の現在の解決策$fileRoot
$temp = explode("/", $_SERVER['SCRIPT_FILENAME']);
if ( $temp[1] == "home" ) { //Linux
if ( $temp[3] == "users") { $fileRoot = '/home/www/users/'.$temp[4].'/www';}
else { $fileRoot = '/home/www/html/'.$temp[4];}
} elseif ($temp[1] == "Users" ) { //Mac
if ( $temp[3] == "www" ) { $fileRoot = '/Users/'.$temp[2].'/www/'.$temp[4]; }
else { $fileRoot = '/Users/'.$temp[2].'/Sites'; }
}
このようにして、私がサイトで作業している場合、http://localhost/someSite
次に、次$fileRoot
を指します:
/home/www/html/someSite
Linuxで。
/Users/jmlopez/www/someSite
私のマックで。
$fileRoot = $_SERVER['DOCUMENT_ROOT'].'/someSite'
Mac と Linux の両方で機能することに注意してください。
個人のウェブサイトで作業している場合は、http://localhost/~jmlopez
次に、次$fileRoot
を指します:
/home/www/users/jmlopez/www
Linuxで。
/Users/jmlopez/Sites
私のマックで。
質問は次のとおりです。私が投稿したソリューションを使用せずにこのパスを取得する方法はありますか? うまくいけば、簡単なものです。