При добавлении новой статьи создается новый файл (без расширения) с именем, которое я беру из названия - $_POST['name']. Так:
$url__title = preg_replace("/[^a-z0-9]+/i","_",$_POST['name']);
$f=fopen("db/rec/$url__title","w+");
fwrite($f,"1\r\n$_POST[recommendation]\r\n$decoded_cat\r\n$_POST[name]\r\n");
fclose($f);
Но если создается статья с названием, которое уже существует, следовательно и файл такой уже существует, то по понятным причинам файл просто перезаписывается. Поэтому я хотел бы, чтобы к файлу (если такой уже существует) добавлялся порядковый номер через тире, то есть так:
db/rec/good_news
db/rec/good_news-1
db/rec/good_news-2
db/rec/good_news-3
и т.д.
Я пытаюсь сделать это следующим образом:
$url__title = preg_replace("/[^a-z0-9]+/i","_",$_POST['name']);
$filename=$url__title;
$fn=$filename.'';
$i=1;
while(file_exists($fn)){
$fn=$filename.'-'.$i.'';
$i++;
}
$f=fopen('db/rec/'.$fn.'','w+');
fwrite($f,"1\r\n$_POST[recommendation]\r\n$decoded_cat\r\n$_POST[name]\r\n");
fclose($f);
Но все равно файл перезаписывается и порядковый номер в конце не добавляется.
За недостаточностью знаний в PHP прошу помощи у специалистов.