自分のための CGIメモ《超基礎編》 |
このページは、完全に私のメモであります。 何度でも同じ失敗を繰り返す自分のために メモを残したかっただけです。 だから、多分あんまり使えません。 |
【変数】 ●変数名に「-」は使ったらダメ。 ●スコープ ・グローバルスコープ…全ての場所で利用可能 ・レキシカルスコープ(my)…宣言されたブロック内やサブルーチンのみで利用可能 ・ダイナミックスコープ(local)…呼び出されたサブルーチン側でも利用可能 ●変数展開 ・''では展開されない。 ・""では展開される。 |
【ヒアドキュメント】 ●終端文字列のクォートによって、変数展開されたりしなかったりする。 ▼変数展開する print <<"EOF"; … EOF もしくは print <<EOF; … EOF ▼変数展開しない print <<'EOF'; … EOF |
【ファイルの属性】 HTML文書・ライブラリ・・・644 CGIスクリプト・・・755 一般に見られるデータの入ったディレクトリ・・・755 カウンタ・BBSのデータなど・・・666 ●『ダイレクトにディレクトリを指定した場合だけ読めるようにして、 ディレクトリ一覧は見られないようにしたい→→→属性を711(実行のみ許可)にする』 ・・・でもロボットには見つけられてしまうのか? それ以前に、そのディレクトリにindex.htmlを作っておけば いいだけの話だったりしないか? よくわからん。これを読んでる詳しい方、誰か教えてくだされ。 |
【UNIXコマンド】
|
||||||
|
【HTTP要求ヘッダ】 デフォルトはGET |
【アンカータグからCGIを呼ぶ】 <a href = "cgi-local/aaa.cgi?100">リンクする</a> ↓ ↓ 呼び先 ↓ $bbb = $ENV{'QUERY_STRING'}・・・変数bbbの値は100が代入される! |
【部分文字列の削除(substr)】 $mojiretsu = "abcdefg"; substr($mojiretsu,2,3) = ''; ↓ $mojiretsu は「abfg」になる。 ・・・$mojiretsuの3つめ(先頭が0個目とする)から3バイトを分を 空文字で置き換え(=削除) |
【flastmod】 ファイルの最終更新日時を表示。 <!--#flastmod file="abc.html" --> file:カレントディレクトリか、そこより下にあるディレクトリ内のファイルを指定する場合。 virtual:カレントディレクトリよりも上にあるファイルを指定する場合。 サーバルートから始まるパス名を付けてファイル名を書く。 |
【SSIが組み込まれたhtml(アクセスカウンタなど)が動作しない!!】 ●SSI用スクリプトのパーミッションは750のように指定。770や777など、groupやothers属性に実行権限があると動作しない。 ●HTMLが置かれているディレクトリ以下のコマンドしか呼べない(絶対パスで指定してもダメ)。 ●引数をつけても無視される(サイテーだぁぁ!!なんでだぁぁ!!)。 →→→execの記述を別のコマンドファイルに格納し、実行させるようにする。 コマンドファイルはexecのSSI 文が書いてあるHTMLファイルが置かれているディレクトリ以下に配置。 |