0

私はphpを学んでいますが、現在、参照の問題で壁にぶつかっています。よく検索しましたが、正確な構造上の問題がある投稿が見つかりません。このハードルを乗り越えて、次のステージに進めますように…

私の基本的なファイル構造は次のようなものです:

domain.com/
        home.php
        images/
                global/
                        nav/
                            nav-img.jpg
        includes/
                menu.php
        fruit/
                apples/
                        red/
                            gala/
                                gala.php

Web ルート ディレクトリを確立するグローバル パスを作成し、それが存在する各ページでその場で参照できるようにしたいと考えています。しかし、この一般的なトピックに関する他の投稿では、使用できる [10] 個の異なる機能が提供されています。[1]が欲しいだけです。また、[たとえば] define(ROOT) をどこに置くか、または個々のページから呼び出す方法もわかりません。

define(ROOT) は私の状況で機能しますか?


すべてのページが [menu.php] を使用していることを知っているため、私の障害:

gala/gala.php から - [ホーム] をクリックすると、以下が検索されます。

/fruit/apples/red/gala/home.php  [does not exist, of course!]

また、可能であれば、これらの[2]のことを回避しようとしています:

I. 次のように、 gala.phpで html ファイル参照を使用します: ../../../../includes/menu.php

正しいグローバル インクルードを見つけます。

Ⅱ.また、次のようにmenu.phpでリンク参照を使用しないでください: /images/global/nav/nav-img.jpg

[+] または [-] のフィードバックをお待ちしております。どうもありがとう。

4

1 に答える 1

0

わかりました、これが私がやったことです。

I. および II . すべてのsrc ="" およびhref =""で非常に多くの ../../../../ を使用しないようにするために、「/includes/menu」などの先頭にスラッシュを付けたサイト相対ファイル参照を解決して使用しました.php" を使用すると、サイトのルートに移動し、そこからファイルの場所を構築します。

グローバル ファイル参照の場合、これらの両方が機能しました。

<?php 
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/";
?> 
// in `<head>` section

そして使用して<?php include ('menu.php'); ?>

またはこれも機能しました:

<?php 
define('ROOT',$_SERVER['DOCUMENT_ROOT']); 
define('INCLUDES',ROOT.'/includes/'); 
?>  
// in `<head>` section

そして<?php include (INCLUDES.'menu.php'); ?>、別のレベルのファイルで使用します。

于 2013-04-10T05:07:21.517 に答える