2005年11月
2005年11月19日
自作便利(?)ツール集
自作便利(?)ツール集
簡単なプログラムなんで、ガンガン作っていきたいんですけれど、まぁ、ブログと一緒でモチベーションがあがっている時にちょこちょこ作っていきます。
わりと役に立ちそうなものから、全然役に立たないものまで。
(^ ^;ゝ
時々覗いてやってください。
2005年11月15日
includeと文字コードと PHP
そのファイルには、日本語の文章が羅列してある配列のみが記述されています。
わりと長い文章なので、修正や追加を考えるとかイブファイルの方がいいかなと。
プログラムの途中で、そのファイルをインクルードしたのですが、どうもうまく表示されません。
おかしい。
1つ気になってたのが、そのサイトは文字コードがSJISだったのでした。
こちらの設定ではPHPはデフォルトでUTF-8で動作するようになっています。
よって以下のように記述して、SJIS仕様にしました。
mb_internal_encoding("SJIS");
mb_http_output("SJIS");
それでもうまく表示されません。
どうも、半角英数字は表示されるけれども、日本語の部分がすっぽり抜けてしまうといった感じでした。
mb_convert_encoding関数を使用しても変化はありません。
ウーン。まいった。サッパリわからない。
んで、外部ファイルを念のためUTF-8で保存してみました。
そしたらなんと、ちゃんと表示させることが出来ました。
表示はSJISで出力してるんですけれどね。なんでなんでしょう。
とりあえず、インクルードするファイルはメインの処理の文字コードがなんであれ、php.iniで設定した文字コードにしておかないといけないようです。
2005年11月14日
ライブドアのブログの良いところ2
ただ、ちらっと有料サービスがどんな機能を持っているのか見てみたんですけれど、まず細かいアクセスログが見られるそうです。
どこから来たのか、どんなブラウザで、なんていうキーわー検索できたのか。ってなことまで見られるようです。
さらには、ドメインをもっている人にはドメインでアクセスできるという。
もっていなくても、ライブドアからサブドメインをもらって、それでアクセスできるらしいです。これはエキサイトがそうですね。
さらに、アマゾンアソシエイトが楽に出来たり、コメントの荒らしにも対応しているとか。
でもって、月々260円ちょいとなれば、うーん。いいかも・・・。と。
あぁ、そうそう。他のブログにデータをエクスポーとしたり、インポートも出来るようです。
もちろん、楽天ブログが今のところSEO対策としてかなり影響があるとにらんでいる私としては、楽天は手放せません。が、サブブログとして、結構魅力を感じていたりします。
ライブドアのブログの良いところ1
結構書いていたんですね。まぁ、こちらを書き始めてからサッパリですが。
ライブドアの場合何がいいって、デザインが楽天よりクールなんですよねぇ。今のところエキサイトが一番クールなんですけれど、ライブドアは数で勝負といわんばかりに豊富です。
まぁ、あまり気に入ったのはないのですが。
それと、かな〜〜〜りデザインに関してはカスタマイズ可能です。
たとえば、ページ上部の画像を私が用意した画像に変更とかも簡単にできますし、その辺の改良も可能です。
重さなんですけれど、この間の大幅な移転後はエントリーの投稿後多少時間がかかったかなぁ。程度ですか。
それでも、Yahoo!よりは断然はやいですし、当然当サイトのMovable Typeより速いです。
楽天が軽すぎるので、多少気にかかる程度です。
で、何がダメかというとですねぇ・・・。
アクセス数が見えない。
そうです。アクセス数は翌日にならないと集計されないんですよ。
今誰がアクセスしてるんだろう。なんて言うのもわかりません。
んでさらには、アクセス数が低い!
昨日も1つエントリー投稿したんですけれど、昨日の訪問者数6人・・・。
アクセス数っていうのはモチベーションを上げる格好の材料でして・・・。
まぁ、あがりすぎても何とも思わなくなってしまうものですが・・・。
ちょっとこの続きは飯のあとでってことで。
まだまだいいところあります。ライブドアのブログ。
お役に立ちましたか?
☆☆こんなの公開してます☆☆
サーバー構築
ウィルス ソフト
消費者 金融 キャッシング
フリー 素材・無料壁紙・携帯待ち受け
・バナー 作成
タイピング ゲーム
DVD
SEO対策 月曜日のアクセス数が決め手
月曜のアクセス数でその週の全体的なアクセス数が決まる。という仮説を唱えているワタクシとしては、どきどきものでした。
ふたを開けてみれば、今の段階で過去最高のアクセス数。
この分だと8日に出した327人の記録を突破しそうです。
が、いつも先が読めないのがアクセス数。
過去の結果など当てに出来ませんが・・・。
まぁ、でも、今日は310人はいくとは思います。
で、大きく伸びた原因として、やはりページタイトルの整理だったんじゃないかなぁ。と。
お役に立ちましたか?
☆☆こんなの公開してます☆☆
サーバー構築
ウィルス ソフト
消費者 金融 キャッシング
フリー 素材・無料壁紙・携帯待ち受け
・バナー 作成
タイピング ゲーム
DVD
動的なページを静的なページに見せる3
場合によっては、動的なページって一発でばれる項目があります。
それはサーバーが返すHTTPヘッダーにあるのですが。
たとえば、静的なページにアクセスしてきた場合、サーバーはページを送信する前にいくつかデータを送信します。
その中にあるのが、「Last-Modified」という項目ですね。
これは要求されたページの最終更新時間になります。
細かくいうと、最終更新時間から9時間引いた(日本サーバーの場合)値になります。
ところが、動的なページはこの項目を返しません。
つまり、この「Last-Modified」が送られてきたかどうかで動的なページか静的なページを判断することが出来ます。
実は、ライブドアの私のブログを久しぶりに見ていたのですが、ずいぶん前から更新していなくて・・・。んで、googleにどれくらいキャッシュされているか調べてみました。
記事総数は270を超えます。
ところが、たった17件・・・。
バリバリ書いていた時は、100を超えていたと思うのですが・・・。
なので、もしかしたら検索ロボットはクローリングする時にページが更新されているかチェックしているかもしれません。
んで、チェック方法の1つとしてこの「Last-Modified」を見ているかもしれません。
そこまで検索ロボットが見てるかどうかわかりませんが、PHPのような動的なページでも強制的にこの「Last-Modified」を出力させてみましょう。
出力するのはこんな感じになります。
If-Modified-Since: Thu, 03 Nov 2005 12:14:48 GMT
なので、スクリプトの頭の方で以下のように記述しておきます。
header("If-Modified-Since: " . date("D, d M Y H:i:s") . " GMT");
さて、この結果どういうやりとりをするか見てみます。
まず最初のアクセスです。
GET /test.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, a
pplication/x-shockwave-flash, application/vnd.ms-excel, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
.NET CLR 1.1.4322)
Host: fstyle.ddo.jp
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Sun, 13 Nov 2005 17:13:22 GMT
Server: Apache
X-Powered-By: PHP/
Last-Modified: Thu, 03 Nov 2005 12:14:48 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
45
<html>
次に、2回目のアクセスです。
GET /test.php HTTP/1.1
Accept: */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
If-Modified-Since: Thu, 03 Nov 2005 12:14:48 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
.NET CLR 1.1.4322)
Host: fstyle.ddo.jp
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Sun, 13 Nov 2005 17:15:56 GMT
Server: Apache
X-Powered-By: PHP/5.0.5
Last-Modified: Thu, 03 Nov 2005 12:17:28 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
45
<html>