Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Czy obsługa archiwów (.zip, .rar) jest bardzo skomplikowana?
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

Piszę właśnie program, który będzie bazą danych poezji użytkowników i ma to wyglądać, tak, że user wgrywa taki swój wiersz, zapisany w pliku tekstowym (.txt) na serwer, a potem inni użytkownicy mogą je pobierać.

I teraz się zastanawiam, czy czy spakowanie takiego dokumentu do zipa, albo rara za pomocą php jest trudne.

Gdyby to był jeden plik, to bym zostawił normalnie txt, ale ze można tam będzie dodawać po kilka plików, to byłoby to potem utrudnienie dla użytkownika, bo jak ktoś doda np. 40 plików, to przydałoby się, żeby można było to pobrać wszystko spakowane w jakimś archiwum.

Co prawda mógłbym od razu kazać użytkownikom pakować to wszystko w archiwum i żeby to dodawali, ale jeszcze mam zrobić, tak, żeby do każdego pliku dodawała się stopka z adresem strony. A jak dam to w archiwum to nie wiem czy da sie potem wyciągnąć ten plik tekstowy ze środka, żeby dopisać mu tą stopkę. A poza tym wydaje mi się, że to trudniejsze rozwiązanie zarówno dla mnie jak i przyszłego użytkownika, gdyż on będzie musiał tworzyć archiwa, a tak to tylko by kliknął w przeglądaj i dodał plik do bazy.

Ogólnie mówiąc jestem narazie przy pisaniu formularza, ale chciałbym wiedzieć, czy spakowanie takiego pliku tekstowego do np. zipa jest trudne do zrobienia w php. Nigdy jeszcze czegoś takiego nie robiłem, więc nie wiem za bardzo jak sie do tego zabrać.

Byłbym wdzięczny za odpowiedz, a jeśli istnieje np. jakaś funkcja, która jest odpowiedzialna za pakowanie do archiwum, to bardzo bym prosił o wskazanie jak si e taka funkcja nazywa, również będę niezmiernie wdzięczny za każdy użyteczny kawałek kodu.

Pozdrawiam.
help_mee
coś takiego?
xbigos
  1. <?php
  2. $zip = new ZipArchive();
  3. $plik_arch = "testowy.zip";
  4. if ($zip->open($plik_arch, ZIPARCHIVE::CREATE) !==TRUE) {
  5. exit ("nie mogę zrobić pliku archiwum <$plik_arch>");
  6. }
  7.  
  8. $zip->addFormString("info.txt","Archiwum o nazwie $plik_arch zostało utowrzone w dniu ".date("Y-m-d H:i:s"));
  9. $zip->addFile("plik_testowy.txt");
  10. $zip->addFile("plik_testowy2.txt");
  11. echo "Ilość plików spakowanych: ".(($zip->numFiles)-1) . "\n";
  12. $zip->close();
  13. ?>


skrypt autorstwa Piotr 'Redelek' Redel

EDIT:

@help_mee mnie wyprzedzil o kilka sekund
help_mee
Cytat(xbigos @ 5.04.2008, 18:09:10 ) *
  1. <?php
  2. $zip = new ZipArchive();
  3. $plik_arch = &#092;"testowy.zip\";
  4. if ($zip->open($plik_arch, ZIPARCHIVE::CREATE) !==TRUE) {
  5. exit (&#092;"nie mogę zrobić pliku archiwum <$plik_arch>\");
  6. }
  7.  
  8. $zip->addFormString(&#092;"info.txt\",\"Archiwum o nazwie $plik_arch zostało utowrzone w dniu \".date(\"Y-m-d H:i:s\"));
  9. $zip->addFile(&#092;"plik_testowy.txt\");
  10. $zip->addFile(&#092;"plik_testowy2.txt\");
  11. echo &#092;"Ilość plików spakowanych: \".(($zip->numFiles)-1) . \"\n\";
  12. $zip->close();
  13. ?>


skrypt autorstwa Piotr 'Redelek' Redel

no nie wiem czym się różni od tego dry.gif
n/c
puz219
Dziękuje wszystkim, którzy się wypowiedzieli, ja dopiero jestem w fazie przygotowania formularzy pod to wszystko, ale już widzę, że to nie takie trudne i będę z tym kombinował.
help_mee
tylko nie zapomnij o bezpieczeństwie i dodać funkcje sprawdzającą czy taki plik nie istnieje aby użytkownik nie nadpisywał innego wpisu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.