ビギナーズ CGI

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

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

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

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

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

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


 
 



ファイルの様々な情報を取得する


【書式】
$変数 = (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 の部分を別のオプションに変更すると、
それらの情報を調べる事ができます。

例えば if (-f $setfile) とするとファイルかどうかを調べますが、
この場合、ファイルの場合に if が真になり処理が実行されます。
-f ファイルかどうかを調べる
if で真になった場合はファイル
-d ディレクトリかどうか調べる
if で真になった場合ディレクトリ
-r 読み込み可能かどうか調べる
if で真になった場合読み込み可能
-w 書き込み可能かどうか調べる
if で真になった場合書き込み可能
-x 実行可能かどうか調べる
if で真になった場合実行可能





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