Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ZIP / UNZIP Plików w PHP
Markiz
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Czy ktoś mógłby mi opisać lub dać gotowy skrypt do ZIPu i UNZIPu plików ?
Widziałem część tego skryptu w phpMyAdminie, ale jest tam ucięte i pomieszane z resztą. Poczytałem kilkadziesiąt artykułów, ale na żadnej nie jest to normalnie wyjaśnione :/

Za pomoc bardzo dziękuję
-----
Markiz
http://wk.prv.pl
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 24)
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


a ja znalazlem w manualu od razu (wiesz co to wyszukiwarka) ... poza tym na zend masz manuale jak tworzyc zipy


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
em1X
post
Post #3





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


a w phpMyAdmin masz zip.lib.php .. biblioteke i wszystkie klasy (nic poucinane:P)


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
Markiz
post
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
a w phpMyAdmin masz zip.lib.php .. biblioteke i wszystkie klasy (nic poucinane:P)


Przy tworzeniu pliku muszę wykorzystać to:
$zipfile = new zipfile();
$zipfile -> addFile($dump_buffer, $filename . $extbis);
echo $zipfile -> file();

No to powiedz mi co mam/mogę wprowadzić zamiast $dump_buffer ?
Znaczy się co tam się wprowadza ?

Albo jakbyś mógł to powiedz mi jeszcze jak to działa, znaczy się jak zaczynamy od góry...
$zipfile = new zipfile();
tworzy ZIPa ale gdzie mogę dać nazwę tego ZIPa?
$zipfile -> addFile($dump_buffer, $filename . $extbis);
dodaje plik do ZIPa którego nazwy nie wiem gdzie wpisać
echo $zipfile -> file();
tu już tylko wyświetlenie wyników... :/

Za pomoc Ci z góry dziękuję.


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
Mac
post
Post #5





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

Ostrzeżenie: (0%)
-----


Cytat
Albo jakbyś mógł to powiedz mi jeszcze jak to działa, znaczy się jak zaczynamy od góry...
       $zipfile = new zipfile();
tworzy ZIPa ale gdzie mogę dać nazwę tego ZIPa?  
       $zipfile -> addFile($dump_buffer, $filename . $extbis);
dodaje plik do ZIPa którego nazwy nie wiem gdzie wpisać

$filename to zmienna która przechowuje nazwę pliku do dodania do zipa. smile.gif
Go to the top of the page
+Quote Post
Markiz
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


No to jeszcze został mi ten $dumb_buffer smile.gif


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
Mac
post
Post #7





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

Ostrzeżenie: (0%)
-----


Cytat
No to jeszcze został mi ten $dumb_buffer smile.gif

$dump_buffer tego nie jestem do konca pewien, ale wydaje mi sie ze jest to wielkość buforu (kompresji). smile.gif
Go to the top of the page
+Quote Post
Koshin
post
Post #8





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

Ostrzeżenie: (0%)
-----


$dump_buffer przechowuje tresc jaka ma byc umieszczona w pliku w spakowanych archiwum, czuyli krotko mowiac, to co chcesz spakowac, wrzucasz do $dump_buffer. Ocywiscie w ten sam sposob mozna spakowac kilka plikow na raz. wystarcz zmieniac nazwe pliku i zawartosc tej zmiennej.
Go to the top of the page
+Quote Post
Mac
post
Post #9





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

Ostrzeżenie: (0%)
-----


A w takim razie co to jest $extbis?
Bo tego nie wiem.
Podaj jakiś przykład ok?
Bo tej (addFile) funkcji dokładnie nie znam.
Go to the top of the page
+Quote Post
Seth
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Cytat
A w takim razie co to jest $extbis?
...
Bo tej funkcji dokładnie nie znam.

$extbis to nie funkcja :!:
to jest zmienna :!:

Radze zajrzec do jakiegos kursu o php
Go to the top of the page
+Quote Post
Mac
post
Post #11





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

Ostrzeżenie: (0%)
-----


Cytat
Cytat
A w takim razie co to jest $extbis?
...
Bo tej funkcji dokładnie nie znam.

$extbis to nie funkcja :!:
to jest zmienna :!:

Radze zajrzec do jakiegos kursu o php

Wiem, że to nie funkcja, ale chodzi mi oto, że nie znam funkcji addFile wiem, że $extbis to parametr angrysmiley.gif :!: :!: :!:
Go to the top of the page
+Quote Post
Seth
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Cytat
Wiem, że to nie funkcja, ale chodzi mi oto, że nie znam funkcji addFile wiem, że $extbis to parametr angrysmiley.gif  :!:  :!:  :!:

Ok sorry rolleyes.gif
Go to the top of the page
+Quote Post
Mac
post
Post #13





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

Ostrzeżenie: (0%)
-----


Cytat
Czy ktoś mógłby mi opisać lub dać gotowy skrypt do ZIPu i UNZIPu plików ?
Widziałem część tego skryptu w phpMyAdminie, ale jest tam ucięte i pomieszane z resztą. Poczytałem kilkadziesiąt artykułów, ale na żadnej nie jest to normalnie wyjaśnione :/

Za pomoc bardzo dziękuję
-----
Markiz
http://wk.prv.pl

Skrypt (służy do otwierania plików (archiwów *.zip)) (z manuala (http://pl.php.net/manual/pl/ref.zip.php)):
Kod
<?php



$zip = zip_open("/tmp/test2.zip");



if ($zip) {



    while ($zip_entry = zip_read($zip)) {

        echo "Name:               " . zip_entry_name($zip_entry) . "n";

        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "n";

        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "n";

        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "n";



        if (zip_entry_open($zip, $zip_entry, "r")) {

            echo "File Contents:n";

            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));

            echo "$bufn";



            zip_entry_close($zip_entry);

        }

        echo "n";



    }



    zip_close($zip);



}



?>

I znowu dopisek gajacy2 się sprawdza :!:
Zanim zadasz jakieś pytanie zajrzyj do manuala http://pl.php.net/manual/pl/
Go to the top of the page
+Quote Post
Markiz
post
Post #14





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
I znowu dopisek gajacy2 się sprawdza :!:  
Zanim zadasz jakieś pytanie zajrzyj do manualahttp://pl.php.net/manual/pl/


Co z tego, że masz dopisek, skoro czytać nie umiesz ?;/
Pytałem się o ZIPowanie plików, a ty mi otwieranie dajesz :/
Otwieranie to już tam se opanowałem, ale ZIP teraz :/


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
Markiz
post
Post #15





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
Już znalazłem odpowiedz na moje pytanie:
Na stronie http://www.zend.com/codex.php?id=696&single=1


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
Markiz
post
Post #16





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Teraz wystarczy to jakoś przerobić, żeby można było dorzucać coś do tych plików i już bedzie zajebiście smile.gif


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
castor
post
Post #17





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Wszystcy sie ciesza ze znalazles !!!

Ale jak juz dlales linka do tegfo skryptu to po co jeszcze wrzucasz ten kod na forum??

Zasmiecasz tylko baze. aaevil.gif

:!: :!: Link i przyklad w zupelnosci by wystarczyl :!: :!:


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
Markiz
post
Post #18





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


sory, już poprawiłem i zostawiłem tylko linka smile.gif
-----
już się nie gniewasz ?smile.gif


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
castor
post
Post #19





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


biggrin.gif NIE biggrin.gif


--------------------
pozdrawiam
CASTOR
Go to the top of the page
+Quote Post
Agresor
post
Post #20





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.05.2002
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Czesc mam problem bo strony robilem w html'u a teraz chcialbym wstawic skrypt php mianowice system newso powiecie mi jak to zorbic? bede wdzieczny za pomoc
Go to the top of the page
+Quote Post
Mac
post
Post #21





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

Ostrzeżenie: (0%)
-----


Cytat
Czesc mam problem bo strony robilem w html'u a teraz chcialbym wstawic skrypt php mianowice system newso powiecie mi jak to zorbic? bede wdzieczny za pomoc

Wiesz co to jest wyszukiwarka?
To włącz ją (wyszukiwarkę) i wpisz to czego szukasz, bo ten problem był już omawiany i nie ma sensu wpisywać dwa razy tego samego (w dwóch tematach) smile.gif
Go to the top of the page
+Quote Post
Markiz
post
Post #22





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.04.2002
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


A czy ktoś mi mógł powiedziec, w jaki sposób ja mogę coś dodać do ZIPa ?tongue.gif
Bo stworzyć ZIPa (teraz widzę), żę to łatwa sprawa. Ale żeby coś dodać do ZIPa to znowóż dla mnie czarna magia :/


--------------------
Markiz
wk.prv.pl
Go to the top of the page
+Quote Post
Czadus
post
Post #23





Grupa: Zarejestrowani
Postów: 164
Pomógł: 4
Dołączył: 29.08.2008

Ostrzeżenie: (0%)
-----


Hej. Nie zakładam nowego tematu, tylko postanowiłem napisać tutaj. Korzystam z biblioteki zip.lib.php do spakowania pewnej zawartości plików do zipa, po czym wysłania tego do użytkownika. Problem jest nie w samym wysyłaniu zip i jego tworzeniu, ale w dodawaniu zawartości do niego. Poniżej przesyłam ten skrypt:

Kod
    $zap = @mysql_query("SELECT * FROM `zdjecianazwy` WHERE `status`='1' AND `dzial`='".$zm3."';");
    $ile = @mysql_num_rows($zap);
    if($ile>0)
    {
        $zipfile = new zipfile();
        
        while($zap && $dane = @mysql_fetch_array($zap))
        {
            $file = "./grafika/uploadZdjecia/".$dane['dzial']."/1_".$dane['nazwa']."";
            if(file_exists($file)) { $zipfile -> addFile($file, "1_".$dane['nazwa'].""); }
        }
    echo $zipfile -> file();
}


Pliki są dodane do zip-a, nazwy mają, rozszerzenie mając, ale nie mają właściwej zawartości. Otwieram obrazek, który zamiast mieć 7MB, ma kilka kilo i zamiast otwierać się wyskakuje błąd, jakby to nie był plik obrazka.

Proszę o pomoc.

Poprawiłem kod, teraz wszystko jest pakowane poprawnie, poza jedną rzeczą, która mi całą koncepcję niszczy. Aktualnie wygląda to tak:

Kod
$zap = @mysql_query("SELECT * FROM `zdjecianazwy` WHERE `status`='1' AND `dzial`='".$zm3."';");
    $ile = @mysql_num_rows($zap);
    if($ile>0)
    {
        $zipfile = new zipfile();
        while($zap && $dane = @mysql_fetch_array($zap))
        {
            $file = "./grafika/uploadZdjecia/".$dane['dzial']."/1_".$dane['nazwa']."";
                if(file_exists($file))
            {
                if (is_file($file))
                {
                    $fp = fopen ($file, 'rb');
                            $date = fread($fp, filesize($file));
                        fclose ($fp);
                    $zipfile -> addFile($date, "1_".$dane['nazwa']."");
                }
            }
             }
         }
         echo $zipfile -> file();
}


Spakowane pliki pobieram, jest wszystko ok, do momentu, gdy tworzony zip miałby wielkość ponad 30MB. Wówczas zamiast niego otrzymuję zipa 200Bajtowego, którego zresztą nie można otworzyć, gdyż wyskakuje błąd.

Czy jest jakieś ograniczenie?? Albo czy można to zmienić?? Skąd się to bierze?? Czy może zależeć od serwera?? Póki co testuję to na localhost??

Nikt nie jest w stanie mi pomóżquestionmark.gif Może to ustawienia serwera localhost (wamp), które może ograniczają wielkość pobieranego pliku. Nie mam już pomysłów....

Hej. Mam dodatkową informację odnośnie mojego problemu. Wyrzucając nagłówki z klasy zip.lib.php plik oczywiście nie będzie wysłany, ale przy tym tworzonym zipie, który ma niewłaściwy rozmiar, teraz pojawił mi się następujący błąd:

Kod
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 38130122 bytes) in C:\wamp\www\AAA_morphing\include\zip.lib.php on line 242


Co to może dokładnie oznaczać?? Tekst rozumiem, ale nie wiem jak takiemu czemuś zaradzić.
Go to the top of the page
+Quote Post
Piniek
post
Post #24





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://forum.php.pl/index.php?showtopic=27883

http://forum.php.pl/index.php?showtopic=66616

oto odpowiedz na twoje pytanie.


--------------------
Go to the top of the page
+Quote Post
Czadus
post
Post #25





Grupa: Zarejestrowani
Postów: 164
Pomógł: 4
Dołączył: 29.08.2008

Ostrzeżenie: (0%)
-----


Dzięki, do tego akurat już udało mi się dotrzeć. W każdym razie dzięki wielkie :]

Na serwerze miałem ustawione

Kod
memory_limit = 128M;


Na home.pl mają 64MB. Pytanie, czy wstawiając przed kodem generującym zipa poniższy kod:

Kod
ni_set('memory_limit', '200M');


albo nawet

Kod
ni_set('memory_limit', '300M');


będzie działać poprawnie i przyniesie zamierzone efekty
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:40