• ベストアンサー

自身のパスの取得

レンタルサイトでPHPを使っているのでディレクトリのフルパスが分からないのですが、このPHPファイル自身のディレクトリを得る関数はありませんか? http://www...ではなく、/usr/local/..のようなディレクトリのパスを取得する関数を教えてください。

  • inugh
  • お礼率36% (11/30)
  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • ntm98
  • ベストアンサー率26% (73/273)
回答No.2

ディレクトリのフルパスを調べるならこんな感じかな? print dirname($_SERVER["SCRIPT_FILENAME"]); なお、phpinofo()関数を使えば、取得可能な他の環境変数もわかりますよ。

inugh
質問者

お礼

下のお礼は間違えました。 正しくできたのはdirname(__FILE__)だけでした。 __FILE__と$_SERVER["SCRIPT_FILENAME"]は全く同じようですね。 phpinofo()からもパスが分かりました。

その他の回答 (1)

  • kotaron
  • ベストアンサー率61% (8/13)
回答No.1

以下のような感じが応用が利くと思います。 echo dirname(__FILE__); echo dirname($_SERVER['PHP_SELF']); echo dirname(PHP_SELF);

inugh
質問者

お礼

ありがとうございます。 ($_SERVER['PHP_SELF']);でできました。

関連するQ&A

  • jarのパス

    実行、自身のクラスが含まれたjarファイルのパスを取得する方法はありますでしょうか? /usr/local/lib/hello.jar の hello.class 実行中に、 "/usr/local/lib"というパス文字列を取りたい。 また、自身のjarに含まれるマニフェストファイルを取得する方法はありますでしょうか? JarInputStream で jar を読み込み、getManifest で取得できますが、上記のように自身のjarの位置を調べるか、直接自身のマニフェストファイルを読み込める方法を探しております。

    • ベストアンサー
    • Java
  • パスがうまく通らないので、パスについて教えてください。

    パスがうまく通らないので、パスについて教えてください。 ▽やりたいこと http://okwave.jp/qa/q6132108.html ▽知りたいこと  →パスを通すとは、具体的に、どこのことを指すのでしょうか? 1)php infoのinclude_path(ブラウザで確認) Configuration PHP Core include_path .:/usr/local/lib/php 2)php infoのPATH(ブラウザで確認) Environment Variable Value PATH /command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin 3)echo $PATH(SSHで確認) 出力すると、1)とも2)とも異なる結果となります…。 パスを通すとは、具体的に、どこのことを指すのでしょうか? また、上記それぞれの意味、及び内容が違う理由を、教えてください。

    • ベストアンサー
    • PHP
  • パス(PATH)の設定ファイルについて

    OSはRed Hat Linux 9 を使用しております。 また、シェルはbashを使用しております。 ユーザがシステムにログインする際は、通常ですと /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ファイルを読込、パス(PATH)の設定を行うと思いますが、 sshでrootユーザでシステムにログインした際は、 「echo $PATH」の結果は以下でした。 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin su -で再度rootユーザでログインした際、もしくは、他ユーザからsu -でログインすると 「echo $PATH」の結果は以下でした。 /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/sbin ログインの仕方でパス(PATH)に違いがあります。 また、「/usr/local/bin」をパス(PATH)として設定している記述が 上記ファイルに見当たりません。 http://sakaguch.com/PastBBS/0038/B0018808.html http://oshiete1.goo.ne.jp/kotaeru.php3?q=800405 等のサイトを参考に、以下ディレクトリ配下を確認しましても /etc/profile.d /etc/rc.d/init.d /etc/rc.d/rc3.d 「/usr/local/bin」をパス(PATH)として設定している記述が 見当たりません。 ログインの仕方でパス(PATH)に何故違いがあるのか、 また「/usr/local/bin」をパス(PATH)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • Linuxコマンドのパス取得方法

    すいません、どなたかお分かりの方おられましたらアドバイスいただけましたら助かります。 PHPからLinuxコマンドのwgetとlhaコマンドを実行しています。 しかし、実行するサーバーによってコマンドパスが違うので whereisでパスを取得してからPHPで実行するようにしています。 しかし、CRONで実行したときにだけ、そのパスが取得できない状態です。 こういった場合、どのようにしたらパスが取得できるでしょうか。。 環境:さくらインターネットビジネスプロ FreeBSD 7.1-RELEASE-p15 whereis wgetを コンソールで実行した場合 ⇒ wget: /usr/local/bin/wget /usr/local/man/man1/wget.1.gz CRONで実行した場合 ⇒ wget: /usr/local/man/man1/wget.1.gz whereis lhaを コンソールで実行した場合 ⇒ lha: /usr/local/bin/lha CRONで実行した場合 ⇒ lha: よろしくお願いしますm(_ _)m

  • パスを通す

    [root@centos ~]# echo PATH=$PATH:/usr/local/tripwire/sbin >> .bashrc ; source .bashrc  ← tripwire実行ファイル格納ディレクトリへパスを通す という作業を行ったのですが、しっかりとパスが通っているか確認したいです。 cat ~/.bashrc では確認できませんでした。 参考にしたサイト http://centossrv.com/tripwire.shtml 回答お待ちしております。

  • LinuxのPHPのパス

    Linuxのレンタルサーバーで、PHPのパスを調べたのですが、以下のように2つ出てきました。 # whereis php php: /usr/local/bin/php /usr/local/php /usr/local/bin/phpは /usr/local/php5/bin/php-cli-5.2.9につながっていました。 /usr/local/phpの中身はこんなかんじでした。 drwxr-xr-x 2 root root 4096 Jul 2 16:29 bin drwxr-xr-x 2 root root 4096 Jun 25 12:13 etc drwxr-xr-x 3 root root 4096 Mar 17 10:28 include drwxr-xr-x 3 root root 4096 Jul 2 16:34 lib drwxr-xr-x 3 root root 4096 Mar 17 10:29 man drwxr-xr-x 3 root root 4096 Nov 15 2007 php PHPのパスはどちらですか?

    • ベストアンサー
    • PHP
  • 実行ファイルのパスを取得したい

    C言語で自分自身がどのディレクトリに存在しているか 知りたいのです。 簡単に例を挙げて説明します。 UNIX C言語で cmd1 という実行ファイルを作成しました。 環境変数は以下のように定義されていたとします。 PATH=/bin:/usr/bin /binにcmd1を配置してカレントディレクトリ/homeにおいて cmd1を実行、cmd1プログラム内で"/bin/cmd1" を取得したいのです。 続けて、/bin/cmd1を/usr/bin/cmd1移動して、cmd1を実行すれば、 プログラム内で"/usr/bin/cmd1"を取得できるコーディングをしたいのです。 typeコマンドのような事をC言語で行いたいのですが。 お分かりの方いらっしゃいましたら教えてください。 よろしくお願いします。

  • include_pathについて。

    PHP 5.2以上のバージョンの話として質問をさせて頂きます。 (ローカルではWindows版XAMPPを使用。リモートはLinuxサーバー。) ----- <ファイルの位置関係> imgディレクトリ --- C.jpg (画像ファイル) mainディレクトリ --- A.php sub ディレクトリ --- funcディレクトリ --- B.php (img、main、subディレクトリは3つとも同階層) //------- (A.phpの記述) require_once '../sub/func/B.php'; //------- (B.phpの記述) echo '<img src="C.jpgのパス">'; // ←■画像Cを表示したい■ //★どう表示されるかテスト★ echo dirname(__FILE__) ;   //----- このような状況で、 A.phpにアクセスすると、★テスト★の所は、 ~/sub/func   //←のように表示される。 // つまりこれは、__FILE__ は、 // A.phpではなく、B.phpを指している。(?) と、このような時、B.phpの中で、 C画像の相対パスは、どう書いたらよろしいのでしょうか? A.phpから見た、C画像の相対パスで書いたらいい? それとも、B.phpから見たソレでしょうか? phpinfo()でinclude_pathの項目を調べると、 .:/usr/local/lib/php/~ のように書かれています。(デフォルトのままです。)

    • ベストアンサー
    • PHP
  • そのファイルのパスって取得できますか?

    ExcelでVBAを書いているんですが、たとえば、マイドキュメントとかのパスって、調べることが出来ますよね? そういった感じで、自身がどこにいるかも取得する方法ってあるのでしょうか? もちろん、ファイルを指定するようなダイアログを出せば出来るんですが、今回のは、そういったことじゃなくて、ユーザ側には何の操作もさせないことを考えています。 最終的にやりたいことは、同じディレクトリ内のファイルとの同期なんですが、やはり、ファイルの位置は、フルパスで指定しないとダメなんでしょうか。 どなたか、よろしくお願い致します。

  • MySQL関連のパスを通すには

    OSはFedora10です。 /usr/local 以下のディレクトリにMySQLをインストールしました。 しかし、mysql, mysqld, mysqladminいずれもパスが通っていません。パスを通すにはどのファイル、もしくはコマンドを入力すればよいのでしょうか。 よろしくお願い致します。