检查具有相同文件名但扩展名不同的文件

时间:2011-06-15 11:00:52

标签: php file image-processing file-upload

我有一个包含jpeg和原始图像文件的目录。一些jpeg文件有原始文件版本,有些则没有。幸运的是,如果jpeg有一个原始文件,它们的名称相同(不包括扩展名)。所以,我需要一种方法来检查这个目录中是否有相同文件名的匹配原始文件,exclusing file extesion。原始文件,文件扩展名几乎可以是任何东西。

我有什么想法可以做到这一点?我目前存储了$ filename的文件名(不包括extesion)。

进一步解释。我有一个包含以下文件的目录:

cat.jpg
dog.jpg
bird.jpg
cat.raf
dog.foo

我需要将cat.jpg与cat.rag和dog.jpg匹配到dog.foo。这些刚刚从上传的zip文件中提取。

2 个答案:

答案 0 :(得分:5)

尝试搜索以相同名称开头的文件:

$fileWithoutExtension = basename($filename, '.jpg');
$allFilesWithThisName = glob($fileWithoutExtension . '.*');
if (count($allFilesWithThisName)) {
    echo 'There is another file with this name';
}

答案 1 :(得分:0)

由于您已经拥有扩展名的文件名,您只需检查原始文件是否存在(file_exists()):

   if (file_exists($filename.'.raw')) {
     echo 'RAW file exists:', $filename , "\n";
   }

但这对我来说似乎微不足道,我可能完全不了解你的问题。