2

複数のサーバーで使用されるPHPスクリプトを作成しています。したがって、これらのいずれかになります。

/home/14535/domains/something.com/html/miller/test/index.php
/home/12345/domains/something.com/html/jones/test/dir4/index.php
/home/11112/domains/something.com/html/smith/test/test2/test3/index.html

上記のいずれの場合でも、index.phpまたはindex.htmlを差し引いたフルパスを返す必要があります

現在のディレクトリの完全なサーバーパスから実際のスクリプト名を引いたものを確実に返すにはどうすればよいですか?(画像のアップロードなどが行われるため、このパスが必要です)。

ありがとう、クリス

4

4 に答える 4

3

pathinfo()を使用する

PHPマニュアルの例

  <?php
  $path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

 echo $path_parts['dirname'], "\n";
 echo $path_parts['basename'], "\n";
 echo $path_parts['extension'], "\n";
 echo $path_parts['filename'], "\n"; // since PHP 5.2.0
 ?>
于 2013-03-08T16:25:27.237 に答える
0

PHP 5.3以降を使用している場合は、マジック定数を使用する必要があります。

__DIR__

バージョンがこれより下の場合は、次を使用する必要があります。

dirname(__FILE__);

4.0.2未満のバージョンを使用している場合は、PHPバージョンをアップグレードしてください;)

詳細については、 http://php.net/manual/en/language.constants.predefined.phpを参照してください。

于 2013-03-08T16:30:22.643 に答える
0

__FILE__フルパスと現在実行中のスクリプトを返します。ディレクトリ名を取得するには、dirname(). シンボリック リンクがある場合は、これも渡す必要があります。realpath()

realpath(dirname(__FILE__));

これはおそらくあなたが探しているものです。たとえば、これはサーバー上の正しいパスを返します

root@upstairslinux:~# php example.php
/root

root@upstairslinux:~#
于 2013-03-08T16:25:11.977 に答える
0

以下を使用できます。

$yourpath = dirname(__FILE__);
于 2013-03-08T16:25:22.487 に答える