如何使用php fnmatch或其他匹配表达式匹配文件名

时间:2016-08-01 20:30:00

标签: php

我有一些代码可以匹配用户上传图片名称和现有图片名称, 我能够使用

将其归档
<?php
$newName = "foo.png"
if(file_exists("images/" . $newName)){
echo "Image already exist";
}
?>

上面的代码对我有用,但是当新图像为foo.jpg时,它会将新图像作为新图像插入。 所以现在我总是将用户图像重命名为他的用户名,确保文件名相同,但扩展名可以不同,我该如何匹配呢?以下代码不起作用

<?php
$NewImage = "foo.jpg";
if(fnmatch($_SESSION['username'], $NewImage )) {
  echo "This image already exist";
}
?>

1 个答案:

答案 0 :(得分:1)

它不起作用,因为您正在测试完全匹配。 第一个参数是 shell通配符模式。(如PHP manual中所述),因此您需要使用通配符而不是图像扩展名,如下所示:

rack: