0

理解できません。異なるディレクトリからのファイルを含めようとするとき、私は本当に単純な何かを見逃しているに違いないと確信しています。

サイトの構造はこんな感じです。 ディレクトリ構造

/reports/top_sellers_report.phpファイル内からの場合include("includes/header.php);、cssファイルの呼び出しは機能しません。
それを機能させるには、置く必要があり../styles/styles.css
ますが、ルートから「product_dtails.php」を開くと、ヘッダーも含まれているため、cssファイルが読み込まれず、機能させるためにを削除する必要があり ます../
勝つ...
何かが足りないのですか?
オンラインで4時間検索すると、私がいることがわかります。

4

3 に答える 3

0

MVCアプローチの使用を検討する必要があると思います。これは、コードをより適切に整理するのに役立つ可能性があるためです。http: //en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

includeステートメントはサーバー上で評価されるため、ファイルをインクルードする場所はどこでも、そこから相対的に指定する必要があります。CSSの「include」はブラウザで評価されているため、ファイルパスをそのディレクトリから相対パスにする必要があります。

コードを管理し、Webサイトのさまざまな部分を個別の部分に分割するのに役立つため、MVCアプローチを検討することをお勧めします。これにより、この問題を回避できます。

ただし、各ページでスタイルシートを絶対に参照でき(つまり、http://www.mywebsite.com/dir/dir2/stylesheet.css )、それでも機能すると思います。

于 2012-05-16T10:44:15.753 に答える
0

あなたの問題は実際には PHP 関連ではありません。URLを見てください:

http://www.example.com/
http://www.example.com/reports/
http://www.example.com/styles/styles.css

サイトのどこにいるかによって、 への相対パスstyles.cssが変わる可能性があるため、アクセスするhttp://www.example.com/reports/ときは を使用する必要があります。../styles/styles.csshttp://www.example.com/styles/styles.css

おそらく、問題を解決する最も簡単な方法は、のような絶対 URL を使用するhttp://www.example.com/styles/styles.css/styles/styles.css../styles/styles.css. 私は後者をお勧めします。

于 2012-05-16T10:46:22.427 に答える
0

私の知る限り、インクルードはインデックスに関連しているため、root/index.php があります

index.php 内では include("styles/style.css") を使用する必要があります includes/header.php 内では ../styles を追加してルートにリダイレクトし、次にスタイル フォルダーなどにリダイレクトする必要があります。

product_dtails.php を直接開くと、index.php のように動作するため、styles/style.php を使用するだけで済みます。

于 2012-05-16T10:46:51.187 に答える