2011-08-05 15 views
4

私は絶対パス、つまりルートから始まり、 "/"で始まるアドレスを使用して、イメージ、CSS、およびPHPファイルを参照したい。一度に1つの場所でルートパスを定義する

"/ bin/res/include"にあるphpファイルを含める必要があります。私はhtmlでやっているようにPHPで絶対パスを使うことはできないと考えました。私は

include_once(PHP_ROOT."filename.php"); 

を自分のニーズに合った最善の方法は

define("PHP_ROOT", "/home/a7503679/public_html/bin/res/include/"); 

で発見し、その後、いくつかのファイルが含まれるように、いくつかの研究の後、私は、最初はすべてのHTMLページに定義貼り付ける必要はありません。グローバル定義を行うことはできますか?その定数を一度に1つの場所で定義して、すべてのhtmlページに知らせることはできますか?もしそうなら、はどのようにそしてどこでの場所ですか?それが唯一のルートではないかもしれない、私は現在てるフォルダへのフルパスを与えるので、私はdirname(__FILE__);を使用することはできません


  • 私は共有ホスティングサービスを使用しているため、$_SERVER['DOCUMENT_NAME']は使用できません。

[UPDATE:ソリューション] THX皆、そのアイデアに特にリヤドには、これは私がやったことです:

は私のウェブサイトのルートに私の.htaccessファイルを編集して、コメントを追加次ライン、あなたは(私が行ったように)私の場合には、そこにあなたはすべてのhtmlページに必要なすべての一般的なPHPコードを入れている必要がありますので

#Loads an init php located at <fullpath>/<path-to-folder-with-php-files-to-include>/init.php 
php_value auto_prepend_file /home/a7503679/public_html/bin/res/include/init.php 

今、すべての私のhtmlファイルは、そのinit.phpファイルが含まれますだった:

<?php 
define("PHP_ROOT", "/home/a7503679/public_html/bin/res/include/"); #this solves the problem 
include 'lang.php'; #translations file 
?> 

前にすべてのページにlang.phpを含める必要があったので、自動的に完了しました。他のPHPファイルを絶対パスで入力する必要がある場合は、

答えて

3

ます。config /データベースなどのすべてのページに含まれているなどがページに定義追加$_SERVER['DOCUMENT_ROOT']は(あまりにも共有hostingsに)動作するはず

+0

"prepend"するファイルは、定義コードを持つPHPファイルですか? '$ _SERVER ['DOCUMENT_ROOT']'は '/ usr/local/apache/htdocsa'を返します。これは使用可能な場所に対応していないパスです(私はどこに!:Pも知りません) – dialex

1

と入力してください。include_path in php.iniにあなたのカスタムインクルードパスを含めるように修正してください。次に、パス修飾子を付けずにファイルをインクルードするだけで、現在のディレクトリに存在しない場合、PHPはインクルードパスを検索します。 php.iniを変更できない場合は、構成ファイルにset_include_pathを呼び出して、すべてのページに含める必要があることを確認してください。 :)あなたの.htaccess

PSでauto_prepend_fileを使用することができます

+0

私は 'php.ini'ファイルを修正したり作成したりすることはできませんが、' .htaccess'ファイルがあります。 'php.ini'はどこに置かれるべきですか?私はどのページにも設定ファイルが含まれていないと思います。まあ、そこには...私はその呼び出しを定義する_css_ファイルに貼り付けることができますか?邪悪な音! – dialex

+0

私はphpinfo()を印刷して、 '/ usr/local/lib'に' php.ini'を既に持っていることを知りました。.htaccessファイルを使用して "init" PHPファイルをインクルードする方法はありますか?これは、cssファイルを使用するよりも直感的です。 – dialex

関連する問題