dポイントプレゼントキャンペーン実施中!

./aaaディレクトリ内においてファイル名に、『bbbb』及び『cccc』と言う文字列が含まれるファイルを./eeeディレクトリに移動させるスクリプトを考えております。

以下は『bbbb』のみを拾うようなスクリプトです。
=========
<?PHP
if ($dir = opendir("./aaa")) {
while (($file = readdir($dir)) !== false) {
if(preg_match("/bbbb/",$file)) rename("./aaa/".$file,"./eee/".$file);
}
closedir($dir);
}
?>
=========
上記は前にこちらで質問させていただき、正常に動くことを確認しております。
今回は『bbbb』及び『cccc』が含まれる場合に./eeeディレクトリに移動させることを考えております。
このような場合は『cccc』はどのよう記載すればよいのでしょうか?ご教授の程よろしくお願いいたします。

A 回答 (3件)

どちらとも含まれる場合と言う意味ですよね?



単に preg_match をもう一回やればいいのではないかと。

if(preg_match("/bbbb/",$file)) {
if(preg_match("/cccc/",$file)) {
rename("./aaa/".$file,"./eee/".$file);
}
}
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
解決できました。ホントに助かりました。ありがとうございます。

お礼日時:2006/08/29 03:53

#1さんの回答を見て疑問に思ったのですが、


「bbb及びcccc」が含まれる場合というのは、bbbbとccccがともに
含まれている場合、あるいはいずれかが含まれている場合。
どちらでしょうか?

わたしは前者ではないかととったのですが。
    • good
    • 0
この回答へのお礼

早急な補足要求ありがとうございます。
補足が遅れてしまい申し訳ございません。

#3様の回答で上手く動きましたが、“bbbbとccccがともに
含まれている場合”の部分をご指摘くださいましてありがとうございました。

お礼日時:2006/08/29 03:43

ご自身で正規表現について学習なさることをオススメします。


とりあえずは
preg_match("/bbbb|cccc/",$file)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
結果としては#3様の回答で上手く動きましたが、
正規表現について少しだけ知識がつきました。
ありがとうございます。

お礼日時:2006/08/29 03:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!