ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。


 
 

CGI 作成の初歩
 HTMLページを表示してみる  文字列の置き換え
 複数行のHTMLページを表示  フォームから入力された値を表示
 ソース内にコメントを書く  ファイルに書き出す
 変数を使った簡単な計算  ファイルから読み込む
 条件式を使って分岐する  フォーム入力からファイルに書き出す
 文字列の扱い方を練習  サブルーチンを使用してみる
 ループを練習 (繰り返し処理)  現在の時刻を取得する
 配列の簡単な使い方  ファイルの簡単な操作をする
 配列の操作を行ってみる  不特定が書き込むファイルの排他処理
 文字列の検索と取出し  CGI から画像を表示する



18. ファイルの簡単な操作をする


ファイルの最終更新日時などの情報を取得する

【書式】
$変数 = (stat("ファイル名"))[添字];
@配列 = stat("ファイル名");

stat関数で得られる最終更新日時も、現在の時刻を取得する の項で説明した time関数 のように
1970年1月1日0時0分0秒 から現在までの秒数が得られるようになっていますので、実際に表示
したりする際には、整形が必要となります。
stat関数で得られる情報は様々なものがあり、単一の情報が欲しい場合は書式にあるように添字
を指定して変数に入れ使用しますが、複数の情報を使いたい場合は、そのまま配列に入れてしまい
、後でその配列に添字を指定して使用する方法もあります。


下のサンプルソースでは、ファイルサイズと、最終更新日時、最終アクセス日時を表示します。
最終更新日時と、最終アクセス日時はサブルーチンを利用して変換を行ってみます。
複数の値を使いたい為、 stat関数からの戻りを配列に入れていますが、単一の要素のみ取り出す
場合はstat取得時の書式を変え、戻りをスカラー変数に入れてもかまいません。


実行結果
ファイルの最終更新日時は
2004/09/21(TUE) 16:27

ファイルの最終アクセス日時は
2004/09/21(TUE) 18:41

ファイルサイズは
100バイトです。



stat関数呼び出し時の添字、もしくは取得したデータを配列に
入れた場合に得たいデータと指定する添字は以下の通りです。
0 デバイス番号
1 iノード番号
2 モード (タイプとパーミッションの値)
3 対象ファイルのリンク数
4 対象ファイルの所有者ID
5 対象ファイルのグループID
6 デバイス識別子
7 ファイルのサイズ (単位はバイト)
8 ファイルの最終アクセス日時
9 ファイルの最終更新日時
10 最終 iノード更新日時
11 ブロックサイズ
12 ブロック数


ファイルが存在するかなどを調べる


ファイルが存在するかどうかなどを調べる


下のサンプルソースでは、 test.txt というファイルが存在する場合 「ファイルは存在します」
と表示し、無い場合 「ファイルが見つかりません」 と表示します。




ファイルが存在するかどうかの他に、ファイルかフォルダか、アクセス権はどうか?
などを調べる事ができます。

if (-e $setfile) の -e の部分を別のオプションに変更すると、
それらの情報を調べる事ができます。
-f ファイルかどうかを調べる
if で真になった場合はファイル
-d ディレクトリかどうか調べる
if で真になった場合ディレクトリ
-r 読み込み可能かどうか調べる
if で真になった場合読み込み可能
-w 書き込み可能かどうか調べる
if で真になった場合書き込み可能
-x 実行可能かどうか調べる
if で真になった場合実行可能
ファイルを削除する


ファイルの削除を行ってみます。


下のサンプルソースでは test.txt というファイルが存在したら削除します。
削除処理が行われた場合は削除したメッセージを表示します。




ファイルが正しく削除されたかどうかを調べる為には、 unlink関数 の返す値を見ます。
返す値は削除された場合、その個数を返しますので、削除処理を実行したにも関わらず
0個の場合は異常なので、下のようにエラーメッセージを表示します。





次項はファイルの更新日時を取得したり、コピーや削除といった
ファイルに関する操作の説明を行ってみます。



Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -