Gå til innhold

Zippe et helt album - memory exhausted


Anbefalte innlegg

Skrevet

Hei,

 

Jeg holder på å uvtikle et fotoalbum på nett. Funksjonen jeg holder på med nå skal gjøre slik at brukere skal kunne laste ned hele albummet sitt som en ZIP fil, slik de slipper å laste ned ett og ett bilde.

 

Hver bruker får sin egen filbane hvor alle bildene blir lagret, f.eks. "domene.no/sec/20100101/".

 

Problemet

Fatal error: Allowed memory size of 591396864 bytes exhausted (tried to allocate 190273742 bytes)

 

Å zippe 200 bilder på en gang går dårlig. Finnes det noen måte å legge til én og én fil til en eksisterende .ZIP? Eller enda lettere: finnes det noe som kan tillate brukeren å laste ned hele filbanen til albummet sitt, ved hjelp av force download?

 

Setter stor pris på all hjelp!

Videoannonse
Annonse
Skrevet

Det er sannsynligvis helt villt mye mer effektivt å gjøre dette i noe annet enn PHP. Da tipper jeg du også kommer rundt problemene relatert til manglende minne. Ta en titt på tar og shell_exec. Når det gjelder «force download», så aner jeg ikke hva du legger i det, men hvis du vil tvinge frem last-ned-dialogen i nettleseren, så kan dette gjøres ved å sette content-disposition til attachment.

Skrevet

Takk Jonas!

 

shell_exec var utrolig lett i forhold til å bruke PHP til å komprimere mapper..

 

Eneste koden jeg trengte var:

<?php

$FolderToCompress = "MAPPE";

echo shell_exec("tar --create --recursion --file=NAVN.tar $FolderToCompress");

echo "Tar done";
?> 

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...