php检查文件是否存在:仅检查部分

时间:2012-09-14 02:51:04

标签: php file-exists

在php中我们可以使用

检查文件是否存在
if(file_exists("destination/"))
{
    condition
}

但我想做的是......

例如我已经在我的目的地上有这个文件

hello_this_is_filename(2).doc

我怎么知道该目录中是否有一个名称包含字符

的文件
hello_this_is_filename

我想搜索那种方式,因为......如果该目录中存在,我该怎么办...将文件重命名为

hello_this_is_filename(3).doc

我还需要计算我搜索的存在,所以我知道我要用的是什么号码

(3), (4), (5) and so on

任何帮助?

2 个答案:

答案 0 :(得分:5)

使用glob

if (count(glob("destination/hello_this_is_filename*.doc"))) {
  //...
}

答案 1 :(得分:0)

利用Marc B的建议和xdazz,我会做如下的事情:

<?php
$files = glob("destination/hello_this_is_filename*");
if (count($files)) {
   sort($files);

   // last one contains the name we need to get the number of
   preg_match("([\d+])", end($files), $matches);

   $value = 0;
   if (count($matches)) {
      // increment by one
      $value = $matches[0];
   }

   $newfilename = "destination/hello_this_is_filename (" . ++$value . ").doc";
?>

对不起,这是未经测试的,但认为它为其他人提供了regexp工作来实际进行增量...