私は絶対パス、つまりルートから始まり、 "/"で始まるアドレスを使用して、イメージ、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ファイルを絶対パスで入力する必要がある場合は、
"prepend"するファイルは、定義コードを持つPHPファイルですか? '$ _SERVER ['DOCUMENT_ROOT']'は '/ usr/local/apache/htdocsa'を返します。これは使用可能な場所に対応していないパスです(私はどこに!:Pも知りません) – dialex