скачивается архив в 1 байт

ivan52

d-i-d grafix
скачивается архив в 1 байт

добрый день!
пытаюсь создать бекап базы архив и предложить его для скачивания. локально все работало, с сервера скачивается только битый 1 байтовый архив
если же архив не качать, то в диреткорию все складывается нормально
использую pcl

вот кусочек кода
PHP:
            case 'zip':
            $archive = new PclZip(DIR_FS_BACKUP . substr($backup_file, 0, 29) .'.zip');
            $v_list = $archive->create(DIR_FS_BACKUP . $backup_file);
            unlink(DIR_FS_BACKUP . $backup_file);
            $backup_file .= '.zip';
          }
          header('Content-type: application/x-octet-stream');
          header('Content-disposition: attachment; filename=' .$backup_file);

          readfile(DIR_FS_BACKUP . $backup_file);
          unlink(DIR_FS_BACKUP . $backup_file);
 

ivan52

d-i-d grafix
ForJest
нежатый - 300 000 Кб
жатый - 28 Кб

а получаю - 1Кб
еще интересно, он предлагает скачивать архив в виде
20051001060523[1].sql.zip
как буд-то он уже создал один такой на диске, и теперь, чтобы не заменять тот - по умолчанию, присваевает цыфорку [1]

хотя вообще архив должен быть вида
20051001060523.zip

-~{}~ 01.10.05 15:10:

svetasmirnova
дело не в этом,
и еще ведь есть вариант скачивать сырой txt,
так что должно быть так!

-~{}~ 01.10.05 15:13:

svetasmirnova
конечно можно сделать полностью разные заголовки для разных файлов, но мне кажется что дело не в заголовках
 

ivan52

d-i-d grafix
как и предполагал дело не в заголовках!
попробовал поменял - тоже самое

-~{}~ 01.10.05 16:17:

нет скачиваю не ослом
дело как я предполагал в скрипте и в путях

сделал вот так
пока вроде работает

PHP:
            case 'zip':
            $archive = new PclZip(DIR_FS_BACKUP . substr($backup_file, 0, 29) .'.zip');
            $v_list = $archive->create(DIR_FS_BACKUP . $backup_file);
            unlink(DIR_FS_BACKUP . $backup_file);
            //$backup_file = $archive;
            
            header('Content-type: application/zip');
            header('Content-disposition: attachment; filename=' . substr($backup_file, 0, 29) .'.zip');

            readfile(DIR_FS_BACKUP . substr($backup_file, 0, 29) .'.zip');
            unlink(DIR_FS_BACKUP . substr($backup_file, 0, 29) .'.zip');
            break;

            case 'no':
            header('Content-type: application/x-octet-stream');
            header('Content-disposition: attachment; filename=' . $backup_file);

            readfile(DIR_FS_BACKUP . $backup_file);
            unlink(DIR_FS_BACKUP . $backup_file);
-~{}~ 01.10.05 16:18:

похоже дело было в том, что он просто не находил архивный файл для скачивания и предлагал для скачивания ошибки, сейчас попытаюсь посмотреть что там!

-~{}~ 01.10.05 16:20:

да точно в архивах однобайтовых было примерно


PHP:
<b>Warning</b>:  readfile
<b>Warning</b>:  unlink
-~{}~ 01.10.05 16:21:

если решение кривое, напишите плз, буду оптимизировать :)

-~{}~ 01.10.05 16:24:

просто недогадался сначала архив переименовать из zip в txt, чотбы прочитать, что внутри!
 
Сверху