|
|
|
| Как сделать такую фичу: при создании новых страниц, если папка пустая, то имя новой страницы, допустим, будет 001, если файлы в этой папке уже есть (у них числовые имена), то берется файл с самым высоким именем, и к значению имени прибавляется единица и получается новое имя. Т.е. если самое высокое имя файла в папке 003, то новый файл называется 004. Как это сделать? | |
|
|
|
|
|
|
|
для: Keks
(13.12.2006 в 08:41)
| | Страницы будут создаваться одним человеком? Или многими?
Проще всего очередной номер страницы (или последней) держать в отдельном файле, откуда и считывать. | |
|
|
|
|
|
|
|
для: Keks
(13.12.2006 в 08:41)
| | Хм... вообще говоря для генерации таких файлов в PHP (из C утащили) имеется специальная функция tempnam();
<?php
$name = tempnam("директория_с_файлами", "префикс_для_файлов");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(13.12.2006 в 14:44)
| | Но она может совпасть с тем, что уже там есть!
я бу использовал функцию time() | |
|
|
|
|
|
|
|
для: Diablo_
(13.12.2006 в 15:22)
| | ну согласись, что при просмотре страниц лучше видеть примено это: http://www.keks.net/showpage.php?page_id=002 чем это: http://www.keks.net/showpage.php?page_id=95215723545564 | |
|
|
|
|
|
|
|
для: Keks
(13.12.2006 в 15:30)
| | А в чем разница?
Имхо, запомнить стороннему человеку и то и другое одинаково не захочется. | |
|
|
|
|
|
|
|
для: Diablo_
(13.12.2006 в 15:22)
| | >Но она может совпасть с тем, что уже там есть!
Нет, эта функция гарантирует, что имя будет уникальным в данной директории. | |
|
|
|
|
|
|
|
для: Keks
(13.12.2006 в 08:41)
| | Можно поступить следующим образом
<?php
$dirname = "index1";
// Открываем текущую директорию
$dir = opendir($dirname);
// Читаем в цикле директорию
while (($file = readdir($dir)) !== false)
{
if(is_file($dirname."/".$file)) $arr[] = $file;
}
if(empty($arr)) $number = 1;
else
{
sort($arr);
$number = $arr[count($arr) - 1] + 1;
}
$fd = fopen($dirname."/".sprintf("%03d", $number), "w");
// Запись в файл
// ...
// Закрываем файл
fclose($fd);
// Закрываем директорию
closedir($dir);
?>
|
| |
|
|
|