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";
?>
Извините, это не проверено, но я подумал, что это предоставляет другим возможность регулярного выражения для фактического увеличения...