0

ユーザー名だけを引き出すことができるかどうか疑問に思っています。

以下は、私が使用しているパスの例です。

/home/UserName/public_html/index.php

フォルダーへの IP リンクで同じユーザー名が使用されます。これが私が使用しているものの例です。 http://xxx.xxx.xxx.xxx/~ユーザー名/index.php

どうにかしてphpを使用してサーバーからこのパスを取得し、ユーザー名以外のすべてを解析できるかどうか疑問に思っています。次に、そのユーザー名を取得して、ページの他の場所で使用できる変数にします。

$username = UserName

これは理にかなっていますか?

私が抱えている根本的な問題は、多くの php インクルードを使用していて、絶対/相対パスに問題があることです。ユーザー名を取得することで、代わりにすべてを絶対パスにすることができると考えています。たぶん、私はこれについてすべて間違っています。

どんなアドバイスも素晴らしいでしょう。ありがとうございました。

4

3 に答える 3

2

私の知る限り、ベストプラクティスはインクルードに使用すること$_SERVER['DOCUMENT_ROOT']です。

include($_SERVER['DOCUMENT_ROOT'] . '/templates/footer.php');
于 2012-08-06T22:10:34.683 に答える
1
$path = $_SERVER['REQUEST_URI']; // this gives you /folder1/folder2/THIS_ONE/file.php

$folders = preg_split('/', $path); // splits folders in array 

$what_we_need = $folders[3];

http://www.sitepoint.com/forums/showthread.php?192267-How-to-get-folder-name-out-of-a-URLから盗まれた

于 2012-08-06T22:09:41.157 に答える
0

とった!コードは次のとおりです。

<?php
$full = dirname(__FILE__);
$folder = basename(dirname(__FILE__));
$trim = strtr($full, array('/home/'=>''));
$trim2 = strtr($trim, array('/public_html/'=>''));
$userid = strtr($trim2, array($folder=>''));
?>

この例では、

 dirname(__FILE__) = /home/USERNAME/public_html/blog/

次に $userid would = USERNAME

于 2012-08-07T17:37:01.117 に答える