Здравствуйте! У меня есть код, который создает архив Первый кусок кода - Код (Text): $zipForm = '<form method="post" action=""><input type="submit" name="crAr" value="Создать архив"></form>'; $goZip = $_POST['crAr']; $zipTable = $dbPer.'zip'; $i = 1; $zipName = '№'.$i; Ну и само создание архива. Код (Text): if ($goZip){ // если нажата кнопка создать архив // Создаем архив и добавляем в него все файлы из директории $zip = new ZipArchive; $res = $zip -> open($fullZipName, ZipArchive::CREATE); if ($res === TRUE) { $dir = opendir( "./$uploaddir" ); chdir( "./$uploaddir" ); while( $d = readdir( $dir ) ) { if( is_file( $d ) ) { echo "Добавляем в архив файл ".$d." размером ".filesize( $d ).""; $zip -> addFile( $d, $d); } } $zip -> close(); closedir( $dir ); echo '<p>Файлы добавлены в архив</p>'; } else { echo '<p>Ошибка</p>'; } } Так как я знаком с пхп всего лишь 2 дня(это образно=)), не могу понять, как мне реализовать функцию, чтоб при нажатии на кнопку создать архив, создавался архив под номером 1, второй раз нажимаешь на эту же кнопку, создается архив номер 2(предварительно проверив если файлы одинаковые, то не создавать этот архив) нажимаешь еще раз - архив номер 3..... и так до потери пульса... Если знаете пути решения - помогите с этим вопросом. Заранее благодарен.
в гугл напиши - получить листинг директории. это тривиальная задача которая уже имеет пару-тройку готовых решений. и добавляй единичку к последнему имени файла, который найдешь.
Если архивов будет очень много, то лучше создать текстовый файлик, в котором хранить номер последнего или следующего архива.
Напишу не знаю этих терминов, жаль =) А с кодом ес что помочь сможешь? Если вообще капут будет. Думаю такого не должно быть. selectom вытаскивать и делать проверку - если есть $имяфайла, то $имяфайла = $имяфайла+1 ?
Таблица, в которой хранятся данные о файлах (архивах) - должна иметь поле AUTO_INCREMENT (там хранятся ID файлов). Сперва создаёшь запись в этой таблице о новом файле, получаешь ID только что созданной записи с помощью mysql_insert_id() и далее можешь сохранить файл с этим названием.
вот вывел я массивом список названий в бд Теперь надо сделать так, чтоб по каждому нажатию кнопки создать архив плюсовалась единичка?
Если автоинкремент поле, в бд при добавление ид и так на единичку увеличиться, а так еще есть способ $i=0; $f='filename'; $ext='zip'; while(!is_file($f.$i.'.'.$ext)){ $i++; } //имя архива будет $f.$i.'.'.$ext