30
$_SERVER['DOCUMENT_ROOT']

戻り値

/usr/local/apache/htdocs/

入手する方法はありますか

/home/user/public_html/

問題は、public_html フォルダーまたは public_html フォルダーのサブフォルダーに配置できるスクリプトを作成する必要があることです。スクリプトは、アップロードされたファイルを public_html ディレクトリ (画像など) 内のフォルダーに保存する必要があります。つまり、私のファイルは test.php で、そのパスは

/home/user/public_html/test/test.php. 

そして、フォルダがあります

/home/user/public_html/images 

test.php 経由でアップロードされたファイルを保存する必要があります。test.php ファイルが実行される場所がわかりません。たとえば、パスにある可能性があります

/home/user/public_html/test/another-dir/test.php

test.php ファイルがどこにあるかを知らずに images フォルダへのパスを取得するにはどうすればよいですか?

4

11 に答える 11

43

この質問を読んで、グーグルサーフを続けた後、今日見つけたもの:

https://docs.joomla.org/How_to_find_your_absolute_path

<?php
$path = getcwd();
echo "This Is Your Absolute Path: ";
echo $path;
?>

私のために働く

于 2012-05-02T15:51:20.150 に答える
21

実行しているファイルはどこにありますか? public html フォルダーにある場合は、次のことができます。echo dirname(__FILE__);

于 2011-05-21T03:59:11.697 に答える
3

検索したいディレクトリに任意のファイルを配置します。この場合、'root' を public_html に配置します。

/home/user/public_html/root <- note that 'root' is not a folder (you can use root.txt if u want)

そして、この機能を使用してください

function findThis($get){
    $d = '';
    for($i = 0; $i < 20; $i++){//this will try 20 times recursively on upper folder
        if(file_exists($d.$get)){
            return $d;
        }else{
            $d.="../";
        }
    }
}

それを呼び出して値を取得します

$pathToRoot = findThis('root');

そして、それは返されます。たとえば、phpスクリプトのディレクトリは

/home/user/public_html/test/another-dir/test.php

したがって、 $pathToRoot は次のようになります

$pathToRoot => "../../../"

これはあなたが欲しいものですか??

于 2011-05-21T06:39:40.927 に答える
2

これは非常に古いですが、私はそれに出くわし、これでうまくいきました。

<?php
//Get absolute path
$path = getcwd();
//strip the path at your root dir name and everything that follows it
$path = substr($path, 0, strpos($path, "root"));
echo "This Is Your Absolute Path: ";
echo $path; //This will output /home/public_html/
?>
于 2015-11-04T23:48:16.683 に答える
2

任意の種類の構成情報が必要な場合はいつでも使用できますphpinfo()

于 2011-05-22T00:35:55.077 に答える
2

好奇心から、上記のフォルダーの URL を使用してみませんか?

http://www.mysite.com/images

フォルダの場所が変わらないと仮定すると、それが最も簡単な方法です。

于 2011-05-21T04:48:46.837 に答える
0

preg_replace関数を__FILE__使用すると、ホームユーザーなら誰でも簡単に見つけることができます。ここに私のコードを短くします:

$ path_image_you_want = preg_replace('#/ public_html /([^ /] +?)/.*#'、'/public_html/$1/images "、__FILE__);

于 2013-02-10T02:46:02.497 に答える
0

dirname で dirname を使用して、目的の場所に移動することもできます。

使用例:

Joomlaの場合、モジュールは常にインストールされます/public_html/modules/mod_modulename/

したがって、モジュールのフォルダー内のファイル内から、任意のサーバーの Joomla install-root にアクセスするには、次を使用できます。 $path = dirname(dirname(dirname(__FILE__)));

プラグインが常に存在するWordpressにも同じことが言えますwp-content/plugins/

これが誰かに役立つことを願っています。

于 2016-07-06T14:17:28.960 に答える