Un-s
@Un-s

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

CSSファイルの読み込み

解決したいこと

PHPでlink内にCSSファイルを指定する際、絶対パスで記述すると読み込まれませんでした。同階層のcssファイルから読み込むと成功しました。
なぜ、絶対パスではダメなのかわからないです。また、絶対パスを利用して読み込む方法などがあれば教えて頂きたいです。

該当するソースコード

<?php 
     define('BASE_PATH' , '/Applications/MAMP/htdocs/PracticeCode');
     define('CSS_PATH' , BASE_PATH . '/css');
?>
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="<?php echo CSS_PATH ?>/style.css">
</head>
<body>
    <h1>テスト</h1>
</body>
</html>
0

2Answer

一部省略しますが/Applications/css/style.css は絶対パスです。
もしPHPファイルが/Applications/app/index.phpにあるなら、
../css/style.cssが(index.phpから見た)相対パスです。

・・・というのは恐らく理解されていると思うのですが、
これは、サーバのファイルシステム上の絶対パスです。

例えば、index.phpをhttp://{domain}/app/index.phpに公開しているなら
これは、 Webサービスにおける絶対パス(URL) です。
もしstyle.cssがhttp://{domain}/css/style.cssにあるなら、
これが絶対パスで、../css/style.cssが(index.phpから見た)相対パスです。

0Like

Comments

  1. @Un-s

    Questioner

    回答ありがとうございます!

PHPファイルが実行されるドキュメントルート上にファイルを置いているのであれば、
ファイルからの相対位置もしくはドキュメントルートからの絶対イチでCSSファイルなどを指定する必要があります。

もしもドキュメントルートが「/Applications/MAMP/htdocs」で
実行するPHPファイルがドキュメントルートの下のPracticeCodeディレクトリ上にあり、
PHPファイルと一緒にCSSファイルが有るなら、
<link rel="stylesheet" href="style.css">
で良いと思いますが、いかがでしょうか。

0Like

Comments

  1. @Un-s

    Questioner

    回答有難うございます!

Your answer might help someone💌