---
title: "Läsa zip-fil?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/163148-läsa-zip-fil"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "axed"
published: "2007-08-03T08:12:41.000Z"
updated: "2007-08-04T14:51:01.000Z"
replies: 12
views: 772
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/163148-läsa-zip-fil"
---

# Läsa zip-fil?

## #1 — axed, 2007-08-03T08:12Z

Har testad denna kodsnutt från php.net's sida:

```php

$zip = zip_open("test.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 "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}
```

 

Men får följande fel?

Warning: zip_read() expects parameter 1 to be resource, integer given in C:\\www\\ziptest.php on line 6

Warning: zip_close() expects parameter 1 to be resource, integer given in C:\\www\\ziptest.php on line 23

test.zip ligger i samma katalog som scriptet. Nån som har en aning?

Permalänk: https://www.webforum.nu/p/163148

## #2 — itpastorn, 2007-08-03T09:14Z

Kolla följande kommentar i manualen: <http://se.php.net/manual/en/function.zip-open.php#75840>

Permalänk: https://www.webforum.nu/p/2011469

## #3 — axed, 2007-08-03T09:38Z

Ok tack. Körde zipFileErrMsg($zip) och får meddelandet: Zip File Function error: Can't open file. 

Varför??

Permalänk: https://www.webforum.nu/p/2011482

## #4 — colione, 2007-08-03T09:46Z

Lösenordsskydd? Felaktig sökväg? Skadad fil?

Kan du öppna den vanligt själv?

Permalänk: https://www.webforum.nu/p/2011486

## #5 — axed, 2007-08-03T10:17Z

test.zip ligger i samma katalog som scriptet så sökvägen borde väl vara rätt? Inte lösenordskyddad och jag kan öppna den i t ex winzip/winrar så skadad är den knappast heller.

Permalänk: https://www.webforum.nu/p/2011494

## #6 — stevenet, 2007-08-03T10:45Z

<http://se2.php.net/is_readable>

```php
<?php
$filename = 'test.zip';
if (is_readable($filename)) {
    echo 'Filen är läsbar.';
} else {
    echo 'Filen är inte läsbar.';
}
?>
```

Permalänk: https://www.webforum.nu/p/2011499

## #7 — axed, 2007-08-03T11:29Z

Filen är läsbar får jag när jag testar med den funktionen. Nån inställning som kan strula till det?

Permalänk: https://www.webforum.nu/p/2011509

## #8 — stevenet, 2007-08-03T16:35Z

Har du php_zip.dll aktiverad i php.ini?

Permalänk: https://www.webforum.nu/p/2011555

## #9 — axed, 2007-08-03T16:39Z

Ja det är aktiverat.

Permalänk: https://www.webforum.nu/p/2011558

## #10 — itpastorn, 2007-08-03T20:43Z

Enligt min erfarenhet kan det hända att ett zip-program kan läsa en fil när ett annat går bet. Kan du testa din kod på en annan zip-fil?

Permalänk: https://www.webforum.nu/p/2011640

## #11 — axed, 2007-08-04T10:17Z

Det funkar inte. Hittade att man kan använda följande kod istället:

```php

$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test/zip'); 
    $zip->close();
} 
else {
    echo 'failed, code:' . $res;
}
```

 

Någon nackdel med detta?

Permalänk: https://www.webforum.nu/p/2011708

## #12 — itpastorn, 2007-08-04T13:57Z

Nej, inte i princip. OO i stället för procedurellt. För min del hade det varit förstahandsvalet.

Permalänk: https://www.webforum.nu/p/2011737

## #13 — axed, 2007-08-04T14:51Z

Ok då kör jag på det istället. Tack alla.

Permalänk: https://www.webforum.nu/p/2011745

---

Tråden på webben: https://www.webforum.nu/amne/php/163148-läsa-zip-fil
