powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Архивирование файла
25 сообщений из 79, страница 3 из 4
[PHP] Архивирование файла
    #38027466
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle, я ж не ищу лёгких путей, делать та по взрослому
и всё же как?
пока остановился на этом, пробую
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'здесь следует содержимое файла');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

<?php 
//file archiving - файл для архивирования, в php вместо пробелов не нужно указывать "%20"
$file_archiving ='Правила дорожного движения РФ.doc'; 
//file in archive - файл в архиве, в php вместо пробелов не нужно указывать "%20"
$file_in_archive ='Правила дорожного движения РФ.7z'; 

//if - если, "!" - оператор логического отрицания, exists - существует
if(!file_exists($file_in_archive)) {
  $zip = new ZipArchive();
//создание архива с именем ...
  $res = $zip->open($file_archiving, ZIPARCHIVE::CREATE); 
//if - если, "!==" - тождественно не равно, "!=" - не равно, "==" - равно, "===" - тождественно равно
if($res !== TRUE){
//вывести сообщение на странице
//если ошибка № 19, тогда http://www.php.net/manual/ru/zip.constants.php: #define ZIP_ER_NOZIP 19 /* N Not a zip archive */
  echo "error: $res";
//в противном случае ...
} else {
//добавление файла ... в архив с именем ..., через запятую в скобках можно добавлять несколько файлов
  $zip->addFile($file_in_archive);
  $zip->close();
}
}
?>


на мой взгляд они одинаковы
ну почеку в одном случае ОК а во втором ошибка 19?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38027470
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

Потому что 7z это не zip. О чем Вам собственно и говорят.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38027474
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSW,

Не заметил тут всё гораздо хуже... тут doc
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38027475
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSW
понял но если ОК, то где файл в корне, я его не вижу
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38027481
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,


катастрофая его не вижу
Я то же не вижу полной проверки на ошибки. Ошибка ещё может быть на addFile, close.
Если open проходит, то Вам никто не обещает что ошибки дальше нет.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38027484
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSWSergSW,

Не заметил тут всё гораздо хуже... тут doc

и что никак?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38027488
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

В вашем случае никак, ну никак не убедить Zip сжимать в doc
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032452
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSWкатастрофа,

Потому что 7z это не zip. О чем Вам собственно и говорят.

так что в строке
Код: php
1.
$file_in_archive ='Правила дорожного движения РФ.7z';



Код: php
1.
$file_in_archive ='Правила дорожного движения РФ.zip';



нужно?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032482
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно, метод тыка, без какого-либо осознания. Мыслите в правильном направлении, а вот причинно-следственные связи в корне неверны.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032509
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
>причинно-следственные связи в корне неверны
какие верные? я не врублюсь я так понимаю всё зависит от возможностей хоста или как?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032532
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

1. Взять IDE нормальную не только с подсветкой синтаксиса, но и с подсветкой использования переменных.
2. Нормально прочитать свой же код. И подумать где какие переменные стоят и на своих ли местах. В вашем последнем коде как минимум 2 ошибки.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032536
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSW,

IDE нормальная, это какая?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032546
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,

Eclipse, NetBeans, PhpStorm и т.д.

Хотя сдается мне тут не в IDE проблема.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032553
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSWтут не в IDE проблема.Ага, IDE не следят за значениями переменных в контексте приведенной проблемы :-)
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032557
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

Но хоть подсвечивают, если знаешь куда смотреть - помогает.
По приведённому коду такое ощущение, что его в блокноте писали.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032558
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSW,

IDE нормальная, это какая?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032560
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаSergSW,

IDE нормальная, это какая?

цикл завис?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032562
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSW,
конечно в блокноте
цикл завис?-что за загадки?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032564
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSWПо приведённому коду такое ощущение, что его в блокноте писали.У меня сложилось ощущение, что в мануал ни разу не заглянули за пять дней размусоливания этого топика. А раз так, то с чего бы глядеть на подсказки IDE и понимать их?

Сдается мне, катастрофа еще тот тролль.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032566
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSW,
конечно в блокноте
цикл завис?-что за загадки?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38032567
SergSW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

Может стоит тему закрыть? Решение уже со всех сторон обсудили.
Продолжать уже даже не смешно.
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38033661
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри не доходит ....
можете прокементировать строку из мануала
Код: php
1.
$zip->addFromString('dir/test.txt', 'file content goes here');
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38054429
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте, тягомотина продолжается также в связи с моей командировкой и отсутствием приемлимых условий
остановился пока на этом
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<html> 
<head> 
 <title>Архивация файла</title> 
</head> 
<body> 
<?php
$file_archiving ='Правила дорожного движения РФ.doc';
$file_in_archive ='Правила дорожного движения РФ.zip';
 if (isset($file_archiving))
 {
 $zip_archive = new ZipArchive();
  if ($zip_archive -> open(getcwd()."/$file_in_archive", ZIPARCHIVE::CREATE) == TRUE)
  {
  $zip_archive -> addFile($file_archiving, $file_archiving);
  $zip_archive -> close();
  echo "<a href='$file_in_archive'>Ссылка для загрузки архива</a>";
  }
  else echo "<div>Архив не может быть создан</div>";  
 }
else echo "
 <form method=post enctype='multipart/form-data'> 
 <div>Выберите файл: <input type=file name='file'> <input type=submit value='Отправить'> </div> 
 </form>";
?>
</body> 
</html>


имею в корне сайта файл index.php с кодом указанным в сообщении № 4
что я вижу заходя на сайт: Ссылка для загрузки архива
нажав на неё я имею
Not Found

The requested URL /Правила дорожного движения РФ.zip was not found on this server.
и файл Правила дорожного движения РФ.doc в заархивированном виде в корне сайта не появляется, а по задумке должен быть, что я делаю не так?
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38055103
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой сории
имею в корне сайта файл index.php с кодом указанным в сообщении № 4 надо читать как
имею в корне сайта файл index.php с кодом указанным в этом сообщении (сегодня, 11:34)
...
Рейтинг: 0 / 0
[PHP] Архивирование файла
    #38061266
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,
ну сделал так
Код: php
1.
2.
$file_archiving ='2.doc';
$file_in_archive ='2.zip';


всё работает, понятно в чём проблема, но файла 2.zip в корне сайта нет, откуда он берётся для скачки, или его не должно быть??????????
...
Рейтинг: 0 / 0
25 сообщений из 79, страница 3 из 4
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Архивирование файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]