WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP + Zip (https://www.wn.se/forum/showthread.php?t=28943)

Logan 2008-04-27 16:29

Får inte min Zip kod att fungera, den skapar en zip fil men filerna är corupta.


Kod:

<?php
$zip = new ZipArchive();
$filename = "./logan.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}

$zip->addFile('1.jpg');
$zip->addFile('2.jpg');
$zip->addFile('3.jpg');
$zip->addFile('4.jpg');
$zip->addFile('5.jpg');
$worked = $zip->close();
if($worked)
{
echo 'it worked';
}
else
{
echo 'it didn't work;
}
?>

! C:\Program Files\EasyPHP 2.0b1\www\logan.zip: CRC misslyckades i 1.jpg. Filen är skadad
! C:\Program Files\EasyPHP 2.0b1\www\logan.zip: CRC misslyckades i 2.jpg. Filen är skadad
! C:\Program Files\EasyPHP 2.0b1\www\logan.zip: CRC misslyckades i 3.jpg. Filen är skadad
! C:\Program Files\EasyPHP 2.0b1\www\logan.zip: CRC misslyckades i 4.jpg. Filen är skadad
! C:\Program Files\EasyPHP 2.0b1\www\logan.zip: Arkivet är skadat


kollar man i zip filen så ligger det med en fil ¤ på 220440832

objx 2008-04-27 22:31

Stöter du på samma problem om du läser in bildfilernas innehåll i en sträng, och sedan använder $zip->addFromString()?

$f = "1.jpg";
$fhandle = fopen($f, "r");
$content = fread($fhandle, filesize($f));
fclose($fhandle);

$zip->addFromString("1.jpg", $content);


Det är ju i alla fall inget fel i koden du har skrivit.
Har du testat att lägga till andra filer än dom du har använt i exemplet?

Logan 2008-04-28 13:14

Ja andra filer går bra men inte bilder.
Ska testa din kod nu

Upp: Testade koden nu, men det gick inte så bra heller, samma svar: ! C:\Program Files\EasyPHP 2.0b1\www\logan.zip: CRC misslyckades i 1.jpg. Filen är skadad

objx 2008-04-30 07:51

Kan du läsa av något felmeddelande eller liknande med hjälp av "$zip->status" ?


Alla tider är GMT +2. Klockan är nu 01:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson