日別アーカイブ: 2014/01/11

PHP

サイト整理はひとまず一段落。
内容の書き換えだけでなく久々に PHP をやったので少し覚書。

今まで sakura サーバーに上げた奴と local で動作が違う場合があったが

<?
    // sakura はコレで PHP 処理をする設定になっている
?>
<?php
    // local で動かしている httpd は PHP 宣言必須な設定
?>

こんな単純なことだった、<?php としたら当然のように同じ動作に。
何故今まで気が付かなかったのだろう、私ってほんとバカ。

AdSense を localhost で表示させない手段も変更。
表示確認で幾度もリロードするし誤クリックしてしまうのも防ぎたいので。

google.txt みたいなファイルを用意し AdSense スクリプトを書き込む。
ソレを Web に上げ local ファイルは違う内容にして都度読み込みコードに。
というかなり苦しい手段をずっと使っていたけど

<?php
$sitename = "L'Isola di Niente";
$hostname = $_SERVER['SERVER_NAME'];
$foottext = "Copyright(C) sasakima-nao All rights reserved 2002 --- 2014.";

if ($hostname == "localhost") {
    $google = <<< __EOF__
    // local 用 HTML
__EOF__;
} else {
    $google = <<< __EOF__
    // AdSense 表示スクリプト
__EOF__;
}
?>

http://localhost かどうかで振り分けすればいいジャン!
これで Web 上と local の構成をまったく同じにしても問題なくなった。

そんなわけで今までヘッダ部分はこんな感じにしていたけど

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width" />
<title><?php print($title); ?> - L'Isola di Niente</title>
<link href="../style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div align="center">
<img alt="L'Isola di Niente" src="../img/banner1.gif" /><br />
<?php print(file_get_contents("../google.txt")); ?>
<div class="mainBlock">
<div class="entry"><a href="/">L'Isola di Niente</a> &raquo; <?php print($title); ?></div>

ヒアドキュメントというものがあったのさ。

<?php
require_once("../theme/vars.php");
echo <<< __EOF__
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width" />
<title>$title - $sitename</title>
<link href="../style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div align="center">
<img alt="$sitename" src="../img/banner1.gif" /><br />
$google
<div class="mainBlock">
<div class="entry"><a href="/">$sitename</a> &raquo; $title</div>
__EOF__;
?>

Gedit のかなり優秀な色分け表示が台無しになってしまうのが難点。
しかし変数を自由に直書きできる魅力は捨て難い。

んでカテゴリ毎に点在させていたヘッダは共通ファイルを読み込むように。
サイト名を変更する場合も変数一つ変更すれば全ページに適用される。
SyntaxHighlighter 部分だけはカテゴリ別読み込みにしているけど。

ウチは三階層あるので三つ用意したが一つにまとめたいな…
CMS ツールなら単層にできるけど自力でやりたい。

こんなことイイな、できたらイイな。
を実現するのがプログラミングの楽しみですから。
PHP も自力で色々やってみると面白い、今年は Web メインかな。