PHP проверить, если файл существует: проверить только часть

В 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 ответа

Решение

Используйте шар.

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

Используя предложения Марка Б. и 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";
?>

Извините, это не проверено, но я подумал, что это предоставляет другим возможность регулярного выражения для фактического увеличения...

Другие вопросы по тегам