| 解説 |
CGI プログラムに誤りがあるとプロバイダ側のサーバ運用に支障をきたす場合があります。 そこで、CGI プログラムの動作確認を予め自分のパソコンで実行できるようにする為、ローカルサーバを設置すると便利です。 ローカルサーバでCGI を実行する為にはWebサーバソフトとPerlソフトが必要です。 ここではWindows上で動作するフリーソフトのAN HTTPDとActivePerl を使ったローカルサーバの設置手順を示します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@niftyの場合、下表のように通常のHPのディレクトリとCGIを実行するディレクトリが分離されています。 「cgi-bin」ディレクトリに画像ファイルを置いてもブラウザで表示することができません。 通常の画像ファイルは「homepage」ディレクトリに置きます。 本プログラムでは下記に示す画像格納ディレクトリと画像読出ディレクトリをHP上で設定できるようにしてあります。 これによって、CGIプログラムの変更が必要ありません。
■画像格納ディレクトリ CGIで画像をアップロードして格納する場合に格納先を「homepage」ディレクトリに指定します。 その場合の格納先は「/」で始まる絶対パスを指定します。(http://は使えません) /homepage/ ■画像読出ディレクトリ 画像を読み出して表示する場合にhttp://のURLで指定します。 http://homepage?.nifty.com/****/
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■相対パス ファイルやディレクトリの場所を相対的な位置関係で示します。 カレントディレクトリ(現在のディレクトリ)を基準にします。 カレントディレクトリは「.(ドット1個)」、上位のディレクトリは「..(ドット2個)」で表します。 (例)下図の<ディレクトリ構成例>で view.cgi から pic1.jpg、pic2.jpg に対して下記のように表されます。 pic1.jpg → ./pic1.jpg pic2.jpg → ../photo/pic2.jpg ■絶対パス ファイルやディレクトリの場所を絶対的な位置関係で示します。 最上位のディレクトリ(ルートディレクトリ)を基準にし、スラッシュ「/」から始まります。 (例) /****/photo/pic2.jpg (****はサーバによって異なります) ■URL(Uniform Resource Locator) インターネット上に公開された情報のある場所を示します。 (例) http://xxxx/photo/pic2.jpg 但し、view.cgi から pic2.jpg を表示する場合、下記の2通りの記述方法があります。 <IMG src="http://xxxx/photo/pic2.jpg"> ← これをURLの絶対パスと呼んでいます。 又は、 <IMG src="../photo/pic2.jpg"> ← これはURLを相対パスで記述していますが上記URLに変換されます。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
パーミッションはファイルやディレクトリに対するアクセス権の設定です。パーミッションは「755」など3桁の数値で表されます。最初の値は自分(オーナー)の権限を示します。2番目は自分が属するグループの権限、3番目はその他の利用者の権限です。各桁の数値は下表に示す権限の合計です。例えば、「755」は 7 = 4 + 2 + 1 、 5 = 4 + 1 であり、自分は「読む+書く+実行する」の権限を持ち、グループ及び他の人は「読む+実行する」の権限を持ちます。 一般的にパーミッションは、CGIファイルは「755」、読み書きするファイルは「666」、ディレクトリは「777」に設定しますが、サーバによって設定が異なる場合がありますのでサーバ側の指定に従って下さい。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
スタイルシートの記述方法には下記の3通りがあります。 1.外部スタイルシートで記述する。 スタイルシートを記述した別ファイルを用意し、各HTML文書でそのファイルを参照する方法です。 2.各ページで記述する。 各HTML文書の中に <STYLE> タグを使って記述する方法です。 3.各タグで記述する。 HTML文書の各タグにstyle属性を記述する方法です。 本CGIではプログラムに手を加えないで済むようにする為、外部スタイルシートを使っています。 ファイル名は「style.css」で各プログラムファイルの「xxxdata」ディレクトリの中にあります。 ファイルの内容を下記に示します。但し、各プログラムによって内容が異なる場合があります。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java Scriptを使用する場合、ブラウザの設定が通常は有効になっていますが無効になっていると正常に動作しません。 Java Scriptを有効にする設定方法をInternet Explorer 5の場合について示します。 (1) [ツ―ル]メニューから[インターネットオプション]を選択します。 (2) [セキュリティ]タブをクリックします。 (3) [レベルのカスタマイズ]をクリックします。 (4) [スクリプト]の[アクティブスクリプト]で[有効にする]を選択します。 (5) [OK]をクリックします。 下記の記述例においてJava Script未対応ブラウザでは <!-- から //--> までコメント扱いになります。 document.referrerによりアクセス元URLを取得します。
但し、HPのトップページがフレーム形式の場合は下記のように記述します。 例えば、下記のようなフレーム構成の場合は menu.htm 又は main.htm のどちらか一方に下記のように top.document.referrer と記述します。 index.htm トップページ(親フレーム) menu.htm (子フレーム) main.htm (子フレーム)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
カラーコードは # に続く 6桁の16進数(0123456789ABCDEF)で表されます。 最初の2桁が「赤」、次の2桁が「緑」、最後の2桁が「青」を表します。 数値が大きい程、その色が強くなります。この3色を組合わせて色が作られます。 赤 #FF0000 緑 #00FF00 青 #0000FF 下記にカラーサンプルを表示します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■うるう年の求め方 西暦年が4で割り切れる年はうるう年です。但し、西暦年が100で割り切れる年は平年、400で割り切れる年はうるう年です。 ■曜日の求め方 ツェラー(Zeller)の公式を使います。西暦Y年M月D日の曜日Wは下記の式から算出します。 W = (Y+int(Y/4)-int(Y/100)+int(Y/400)+int(2.6*M+1.6)+D) % 7 但し、1月と2月は前年の13月、14月として計算します。 曜日は、W = 0:日 1:月 2:火 3:水 4:木 5:金 6:土 ■国民の祝日 法律で定められています。 「国民の祝日」が日曜日の場合はその翌日を休日とする。(振替休日) 前日及び翌日が「国民の祝日」である日は休日とする。但し、日曜日及び振替休日を除く。
■春分の日、秋分の日 西暦Y年の春分日、秋分日は下記の計算式を用いています。(1980〜2099年に適用) 春分日(3月X日) X = int(20.8431+0.242194*(Y-1980)-int((Y-1980)/4)) 秋分日(9月X日) X = int(23.2488+0.242194*(Y-1980)-int((Y-1980)/4)) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
複数の人が同時に同一のファイルに対して読み書きを行なうと正常に書き込まれない場合があります。 そこで、ファイルロックによりCGIがファイルにアクセスしている間は他のCGIがそのファイルにアクセスできないようにします。 ファイルロックには以下の方法があります。 (1) flock ファイルロック関数flockを使用します。 (2) symlink シンボリックリンク関数symlinkを使用します。 この関数はファイルに対して別の名前で関連付けるシンボリックリンク機能を持っています。 ロック用のシンボリックリンクを作成しシンボリックリンクの有無によりロック状態を判断します。 (3) mkdir ディレクトリ作成関数mkdirを使用してロック用のディレクトリを作成しディレクトリの有無によりロック状態を判断します。 本CGIプログラムではmkdirを使っています。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
日本語の代表的な文字コードを以下に示します。 (1) JISコード 日本語をマシン外部とやりとりするために作られた。沢山の種類があります。 ISO-2022-JPは日本語メールを送信する場合の主流の形式です。但し半角カナは使えない。 (2) Shift-JISコード これはJISコードをシフトさせたものでWindowsやMacintoshなどのパソコンで広く用いられている。 マイクロソフト社とアスキー社が共同開発した。 (3) EUC(Extended UNIX Code) EUCは主にUNIXマシンで用いられ、いろいろな言語用があります。 AT&T社によって定められた。 (4) ユニコード(Unicode) このコードは全世界の主要な言語の文字を包含している。 マイクロソフト社、IBM社、アップル社などが設立したユニコード・コンソーシアムによって制定された。 |
| HOME | 利用規定 | 制作見積り | 登録事業者 | 制作実績 | お問合せ | Copyrights (C) 2003-2008 CGI-design All Rights Reserved. |