Avatar billede Slettet bruger
07. juli 2006 - 12:10 Der er 10 kommentarer og
1 løsning

PHP + Zip open on server

Hej eksperter.
Jeg vil gerne lave et lille system hvor man åbner zip-filerne på serveren via. PHP.
Jeg har prøvet at kigge på http://dk2.php.net/zip, men der står man skal hente noget ekstra, men er det ikke muligt uden?

Og hvis det ikke er, hvordan kan jeg så få det til at virke på mit host, for har jo ikke selv sat serveren op, så ikke sikkert jeg kan smide de ekstra ting ind.

Mit script (fra http://dk2.php.net/zip):
<?php
$zip = zip_open("/tmp/zipfile.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);
}
?>

Fejlen den meddeler mig:
Warning: zip_open() [function.zip-open]: Cannot open zip archive /tmp/zipfile.zip in C:\wamp\www\zip\zip.php on line 2
Håber I forstår mig.
Avatar billede Slettet bruger
07. juli 2006 - 12:54 #1
Ligger der en zip-fil på det pågældende sted?
Har apachebrugeren lov til at læse den pågældende fil?
Er PHP sat op til at tillade at læse fra /tmp (ikke basedir-restriction)
Avatar billede Slettet bruger
07. juli 2006 - 13:01 #2
Har lige rettet stien til: zipfile.zip
Så den lægger bare i den sammen mappe.

Men har kun testet det på min Wamp server (altså lokalt)
Avatar billede Slettet bruger
07. juli 2006 - 13:04 #3
Har lige prøvet på mit host også. det er det samme
Avatar billede Slettet bruger
10. juli 2006 - 08:42 #4
Hvem du hvad fejlen kan være?
Avatar billede Slettet bruger
10. juli 2006 - 12:44 #5
Hvad siger den, hvis du prøver denne kodestump først:

echo "Filen er ";
echo is_readable("zipfile.zip")?"":"IKKE ";
echo "læsbar.\n";
Avatar billede Slettet bruger
10. juli 2006 - 16:54 #6
Jeg har prøvet med denne kode:

<?php
error_reporting(E_ALL);

$zip = zip_open("zipfile.zip");
echo "Filen er ";
echo is_readable("zipfile.zip")?"":"IKKE ";
echo "læsbar.\n";
?>

Warning: zip_open() [function.zip-open]: Cannot open zip archive zipfile.zip in C:\wamp\www\zip\zip.php on line 4
Filen er læsbar.
Avatar billede Slettet bruger
10. juli 2006 - 17:04 #7
This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

Står der på http://dk2.php.net/manual/da/ref.zip.php.

Sådan som jeg forstår det er det så bare en test, eller skal man have det der ZZIPlib ting?
Avatar billede Slettet bruger
10. juli 2006 - 23:06 #8
Normalt vil PHP sige noget med at man forsøger at kalde en ikke-eksisterende funktion, hvis man kalder noget, som PHP ikke er bygget til at klare, så den del af det skulle være i orden, men det kan godt være, at du skal hente en dll eller to.

Den første er selve zip-modulet, som ligger i denne pakke:
http://dk2.php.net/get/pecl-5.1.4-Win32.zip/from/de.php.net/mirror

Måske har du den allerede. Kontroller også lige, at der er en linie, som aktiverer den i din php.ini.

Hvis det så ikke er nok, skal du også have selve ZZIPlib.

Beklager, jeg ikke kan komme med mere konkret hjælp, men jeg har aldrig installeret ekstensions til PHP, og har heller ikke arbejdet med PHP under Windows.
Avatar billede Slettet bruger
10. august 2006 - 09:05 #9
Virker stadig ikke...?
Avatar billede Slettet bruger
10. august 2006 - 22:54 #10
Så er jeg bange for at jeg ikke kan hjælpe dig videre.
Avatar billede Slettet bruger
12. august 2006 - 14:49 #11
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester