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óż

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ć.