
No.3ベストアンサー
- 回答日時:
opendir(FOLDER,"meibo");
@list = readdir(FOLDER);
closedir(FOLDER);
my ($cnt) = 0;
foreach (@list)
{
if ($_ =~ /.+\..+/) { $cnt++; }
}
とすれば、「ファイルと思われる物」の数をカウントします。
このforeach文を
foreach (@list)
{
if ($_ =~ /.+\.jpg$/) { $cnt++; }
elsif ($_ =~ /.+\.jpeg$/) { $cnt++; }
elsif ($_ =~ /.+\.jpe$/) { $cnt++; }
elsif ($_ =~ /.+\.gif$/) { $cnt++; }
elsif ($_ =~ /.+\.png$/) { $cnt++; }
elsif ($_ =~ /.+\.bmp$/) { $cnt++; }
}
とすれば、「JPG、GIF、PNG、BMPファイルと思われる物」の数をカウントします。
無事できました。
ありがとうございます。
質問なのですが、
if ($_ =~ /.+\..+/) { $cnt++; }
はどういう意味なのでしょうか?
No.4
- 回答日時:
>if ($_ =~ /.+\..+/) { $cnt++; }
>はどういう意味なのでしょうか?
簡単な正規表現です。
この例の場合、「何文字か文字が続いた後に"."があって、さらに何文字か文字が続く」という意味です。
正規表現については、とほほのWWW入門でも詳しく解説されていますし、正規表現だけを取り扱ったサイトもたくさんありますので、色々なサイトを見て勉強されれば良いと思います。
参考URL:http://tohoho.wakusei.ne.jp/wwwperl1.htm#Expr
No.2
- 回答日時:
#1です。
>これでファイル数が取得できているのでしょうか?
全てのエントリ(ファイル・フォルダ)を取得しています。
パソコンをDOS画面で使用した事はありますか?
DIRコマンドを実行すると、自分のいるディレクトリ、1つ上のディレクトリが「.」と「..」で表されますよね?
それもエントリとして取得されています。
ですから、#1に書いたように関数だけに頼らず、ご自身でファイルを選別する必要があります。
再度回答ありがとうございます。
>全てのエントリ(ファイル・フォルダ)を取得しています。
>関数だけに頼らず、ご自身でファイルを選別する必要があります。
実際にはどのようにしたらいいのでしょうか?
DOSは使用したことありますがあまり詳しくはわかりません。
よろしくお願いします。
No.1
- 回答日時:
opendir()した後にreaddir()でエントリの一覧を取得し、そこからディレクトリを除外するか、拡張子で必要なファイル数をカウントすればできますよ。
参考URL:http://tohoho.wakusei.ne.jp/wwwperl2.htm#DirIo
回答ありがとうございます。
とほほさんのところも見ましたがイマイチ理解できていません…。
以下のような構造になっています。
┗meibo
┣meibo.cgi
┣1.jpg
┣2.jpg
┣3.jpg
:
┗197.jpg
この「meibo.cgi」でjpgファイルの数を数えたいのです。
opendir(FOLDER,"meibo");
while($folders = readdir(FOLDER)) {print "$folders\n";}
closedir(FOLDER);
としてみましたが…。
これでファイル数が取得できているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPでputすると空ファイルが出...
-
フルパスから最後のディレクト...
-
デスクトップ上の全ファイル取得
-
どんなプログラムを書いても指...
-
visual c++ 2010 使ってます。
-
IIS7.0 他コンピュータへのフ...
-
ExcelVBAでカレントディレクト...
-
GetPrivateProfileStringでini...
-
ExcelVBA サーバーの(共有フォ...
-
webアプリケーションでの画像フ...
-
セルに入力されたパスでフォル...
-
テキストファイルの最終行を削...
-
C言語初心者の質問失礼します。
-
vba ActiveSheet.pasteを使った...
-
Acccess レポートをグループ別...
-
UTL_FILEにて既存のExcelに追加...
-
VB.NETで他のプロジェクトで作...
-
バッファとは何ですか
-
csvファイルを開かずに文字を検...
-
SGファイルって何ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
絶対パスの絶対て英語で何でし...
-
FTPでputすると空ファイルが出...
-
「UNCパスはサポートされません...
-
fopenで別ディレクトリにファイ...
-
ExcelVBAでカレントディレクト...
-
windows.hがincludeされない
-
セルに入力されたパスでフォル...
-
ExcelVBA サーバーの(共有フォ...
-
ファイルダイアログのカレント...
-
ネットワーク上のコンピュータ...
-
GetPrivateProfileStringでini...
-
ファイルやディレクトリの存在...
-
マイクラでPythonのプログラミ...
-
C言語を用いたファイルの一括削...
-
webアプリケーションでの画像フ...
-
FTPでリモートのファイル一覧取得
-
圧縮(Zip)について
-
CFileDialogを使用して、Pathを...
おすすめ情報