head内でphp変数を使用してURLパスを指定したい

このQ&Aのポイント
  • head内でphp変数を使って絶対参照URLを指定する方法を探しています。
  • CSSを組み込む際にテスト環境と本番環境でURLが異なることや、複数のCSSを使用することがあるため、変数を使用した絶対参照が必要です。
  • ヒアドキュメントも試しましたが、うまくいきませんでした。
回答を見る
  • ベストアンサー

head内でphp変数を使いたいのですが現在のところ上手く反映されませ

head内でphp変数を使いたいのですが現在のところ上手く反映されません。 <?php $rooturl="http://****.jp/***/***/***/"; ?> <style type="text/css"> @import url("http://******.com/***/***/css/****.css"); @import url("<?=$rooturl?>/css/****.css"); </style> サンプルでは2行だけですがかなりの数のCSSを組み込んでいることと、テスト環境と本番環境でURLが異なる等の問題があり、絶対参照にする必要があって、変数でやれる方法を探しています。 ヒアドキュメントも試したんですが…。 よろしくお願いします。

  • PHP
  • 回答数3
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • duron
  • ベストアンサー率77% (73/94)
回答No.1

<?=$rooturl?>ってJSP的な書き方でPHPで使用できるのかな? 普通に<?php print($rooturl) ?>でもできませんか?

riririsu22
質問者

お礼

ありがとうございます。<?php print($rooturl) ?>でいけました。ショートタグがだめな環境だったようです。

その他の回答 (2)

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.3

書き方は、それであっています。 でも駄目というなら、実行結果のソースを見れば判りませんか? パスの誤り、phpの環境など再度、確認されると良いです。

riririsu22
質問者

お礼

アドバイスありがとうございました。解決しました。 環境設定の確認ミスとケアレスミスだったようです。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

short open tagが有効なら<?=も使えると思いますが<?php printで書くほうが無難でしょうね

riririsu22
質問者

お礼

アドバイスありがとうございました。解決しました。

関連するQ&A

  • PHPファイル内でCSSが反映されない

    php5&MySQL5&XPでプログラム作成中です。 phpファイル内のhtmlの中に簡単なスタイルシートを埋め込んでいるのですが、 スタイルシートの部分が反映されません。 ご教授いただけると幸いです。 --haikei.css p.sample1 {background-color: #f8dce0; margin-top: 50px;} p.sample2 {background-color: #f8dce0; margin-bottom: 50px;} --login.php <?php --phpのプログラム ?> <html> <head> <link rel="stylesheet" href="haikei.css" type="text/css"> </head> <body> <p class="sample1">上マージン50px</p> <p class="sample2">上マージン50px</p> </body> </html>

    • ベストアンサー
    • PHP
  • CSSが反映されないで困っています;;

    日本のホストの時は、CSSがHTMLにうまく反映されていたのですが、 ホストを海外の T35Hosting と Graffiti.net で同じ様に挑戦したら CSSが反映されませんでした;; index.htmlのヘッド内に下記を書いて、 top.cssの名前でCSSを書きました。 <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <meta http-equiv="content-style-type" content="text/css"> <link rel="stylesheet" href="top.css" type="text/css"> </head> なぜか、反映されませんでした;; 「/」(ルートディレクトリ)と何か関係あるのでしょうか。 <link rel="stylesheet" href="top.css" type="text/css">の行の href="top.css" を href="/.top.css" などに変えなくてはいけないのでしょうか。。。 お知りの方 よろしくお願いします。

  • タグ記述のご質問

    こんにちは。 タグ記述のご質問です。 <STYLE type="text/css"> <!-- @import url(../ABC.css); @import url(../DEF.css); P{ } --> </STYLE> のようにスタイルシートの記述をしますが、この最後から2行目の-->がそのファイルを開けて見るたびに 何故かいつのまにかどんどん増えて --> --> --> のようになって行きます。 これを防ぐにはどうすれば良いでしょうか。お教え下さい。

  • スタイルシートが反映されません

    <link rel="stylesheet" href="style.css" type="text/css">で 外部スタイルシートの反映がされません。 このCSSファイルの中身をそのままHTMLファイルのHEAD部分に持っていったら反映されましたので、単純にリンクがうまくいっていないのか?と思うのですが・・・ ファイル名はあっているし、リンクもファイル名ではできなかったので 絶対パスで指定してみましたがダメでした。パスの指定ミスを防ぐためにファイルのプロパティを開いて、場所をコピペして最後のところに ¥をつけてファイル名を拡張子つきでくっつけましたがダメでした。 なにがいけないのでしょう・・・ いろいろと考えたり調べたりしているのですが、どうしてもわからないです。 CSSファイルはHTMLファイルと同一フォルダ内の同一階層にあります。(まだネット上に公開しておらずURLも持っていないので 個人のPCフォルダ内です)CSSファイルのアイコンはメモ帳に歯車のイラストのアイコンです。このアイコンになっていたらちゃんと CSSファイルだと思っていたのですがもしかしたら違うでしょうか? あ、HTMLファイルのHEAD部分の <meta http-equiv="conten-style-type" content="text/css" /> の書き込みもしてあります。 外部ファイル用の<link rel=だらだらだら>の後に </style>でしめてみたのですがダメでした。

  • スタイルシートを二つ並べたら一つが反映されない

    ホームページを作りましたが、背景があまりに殺風景だったので、画面の両端に画像を縦に並べて貼り付けようとしました。 色々調べて <style type="text/css"> <!-- body{background:fixed url(画像名) #ffffff repeat-y top right} --> </style> というソースを<head>~</head>間に打ち込めば、右端に画像が並んで表示されると分かりました。 左にも同様に画像を並べようと <style type="text/css"> <!-- body{background:fixed url(画像名2) #ffffff repeat-y top left} --> </style> と、先ほどのソースの下に打ったところ、最初に書き込んだ右の画像が消え、左の画像のみがあらわれました。 右、左を書き換えてもやっぱり上のソースは消え、下のソースのみ反映されます。 どうすれば両端共に画像が出てくるようになるでしょうか?

    • ベストアンサー
    • HTML
  • cssが反映されない

    head内にURLに格納されたcssがあるのですが、htmlファイルをブラウザに読み込ませてもそのcssが反映されません。htmlだけが映ります。どうしたらcssを反映させられるでしょうか

    • ベストアンサー
    • CSS
  • CSSが反映されない… 初心者です。

    <html> <head> <title>タイトル</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <style type="text/css"> <!-- .f1{ font-family: "book antique"; font-size: 10px; } --> </head> <body> <span class="f1">本文</span> </body> </html> という簡単な指定をしてみたのですが、実際には何も書かれていない真っ白な画面になり、スタイルシートが反映されないです。 ブラウザが悪いのかと思いFirefoxとIEで試したのですが、やはり真っ白な画面になってしまいます…。 他のサイトのCSSを含んだソースをコピーして試したところ、問題なく反映できるのでブラウザのせいではないと思うのですが、自分で書いた書き方では反映されないので、やはり書き方に問題があるのでしょうか? geocitiesを利用しております。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 背景色を指定したのに反映されません。

    CSSは外部ファイルに記述しています。 画像のように色をつけたいのですが、うまくいきません。 上端から150pxです。テキスト・画像を表示しないで背景色のみの表示もできますでしょうか? ・HTML <body>間のみ ※<head>間に<link rel="stylesheet" href="sample.css" type="text/css">の記述はあります。 <body> <div class="color1"><p class>文字など(できれば入れない)</p></div> </body> ・CSS(sample.css) <style type="text/css"> div.color1 { width: 100%; height: 150px; color: black; background-color: blue; } </style> 同じ階層?に両ファイルはあります。

    • ベストアンサー
    • CSS
  • PHPでの外部CSSの呼び出しが一部有効にならない・・・

    http://localhost/bbs.phpで外部cssを読み出してます。 head部で<link rel=stylesheet type="text/css" href="style.css">を指定しています。 このとき、http://localhost/bbs.phpでは正常にstyle.cssを読み出せていますが、 その後にhttp://localhost/bbs.php/?$cnt=1で別のデータを読み出すと style.cssを読み出せなくなってしまいます。 何か原因あるのでしょうか? 細かいソースを出すのは難しいですが、必要であれば一部ソースでお答えいただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • zampp  PHPでPOSTの変数が返ってこない

    お世話になります。 PHPを最近はじめたばかりの初心者です。 zampp をインストールし、Apache、PHPの動作は問題なく動いています。 「sample.html」「sample.php」の2つファイルを作成し、 C:\xampp\htdocsに保存しました。 「sample.html」と「sample.php」は、ある本からサンプルコードです。 ------------------- 「sample.html」 ------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>フォームサンプル</h1> <form method="post" action="sample.php"> <input type="text" name="text1"> <input type="submit"> </form> </body> </html> ------------------- 「sample.php」 ------------------- <?php $str = $_POST['text1']; if ($str != ""){ $msg = "あなたは、「{$str}」って書いたね?"; } else { $msg = "何も書いてなかったよ?"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>結果表示</h1> <div><?php echo $msg; ?> </body> </html> ------------------------------------ htmlファイルをブラウザーで開き、submit(送信ボタン)を押すと、 text1に入力した文字が、返ってきて .phpに表示されなければならないのですが、 .phpでブラウザーに表示されるのは、上記のコードがそのまま表示されてしまいます。 (入力した文字も代入されずに、コードのまま表示されます) 上記のコードとは違う、htmlファイルとphpファイルで動作させても コードがそのまま表示されて、$_POSTがうまいきません。 原因が分からずに困っています。 ご教授いただけますよう何卒よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう