Gå til innhold

Problemer med zip_read()


Anbefalte innlegg

Holder på å lage en funksjon som skal laste fotoalbum opp på en server. For å kunne laste opp mange bilder av gangen, har jeg valgt å laste dem opp som en zip-fil. Dessverre får jeg ikke zip_read() til å fungere som den skal. Har letet rundt på nettet en stund nå, men ingen av løsningene jeg finner fungerer for meg. Her er unzip-funksjonen:

 

  function unzip($zip, $dir_name)
 {	
echo "Zip-fil: $zip";

while($zip_entry = zip_read($zip))
{
  $fp = fopen('./images/gallery/' . $dir_name, zip_entry_name($zip_entry), "w");

  if (zip_entry_open($zip, $zip_entry, "r"))
  {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fp,"$buf");
zip_entry_close($zip_entry);
fclose($fp);
  }
}

 

Feilmeldingen jeg får er:

Zip-fil: /home/bakke/webserver/paintball/images/temp/test.tar.gz

Warning: zip_read() expects parameter 1 to be resource, string given in /home/bakke/webserver/paintball/modules/pictures.php on line 102

 

Warning: zip_close() expects parameter 1 to be resource, string given in /home/bakke/webserver/paintball/modules/pictures.php on line 115

 

Takker for svar :)

 

Edit: Jeg bruker forresten den fulle stien til zip-filen:

$zip = getcwd() . "/images/temp/" . $_FILES['album']['name'];

Endret av Bakke
Lenke til kommentar
Videoannonse
Annonse

Oisann, litt tidlig på morgenen dette :blush:

 

Nå har jeg endret koden og selvfølgelig lagt inn zip_open(), men får fortsatt den samme feilmeldingen :(

 

  function unzip($zip, $dir_name)
 {	
echo "Zip-fil: $zip";

$zip_open = zip_open($zip);

while($zip_entry = zip_read($zip_open))
{
  $fp = fopen('./images/gallery/' . $dir_name, zip_entry_name($zip_entry), "w");

  if (zip_entry_open($zip, $zip_entry, "r"))
  {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fp,"$buf");
zip_entry_close($zip_entry);
fclose($fp);
  }
}

zip_close($zip);
 }

Endret av Bakke
Lenke til kommentar
Vel, neste skritt må jo da bli å finne ut hva $zip_open faktisk inneholder og sjekke det opp mot http://no.php.net/manual/en/zip.constants.php#83827

...og da viste det seg at den ikke støttet kompresjons metoden. Takker så mye for hjelpen, men nå må jeg nok uansett finne en annen løsning. Fant nemlig også ut at webserveren, hvor siden skal lastes opp, ikke støtter zip funksjonene :(

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...