Wanneer toevoegen aan archief?

Ik bouw een website die fungeert als een portfolio voor reclamewerkzaamheden van bedrijven. Ze uploaden bestanden, kunnen deze bekijken in de galerij en dergelijke. Een andere functie die ze willen is dat bevoorrechte gebruikers de volledige galerij kunnen downloaden.

Ik krijg te maken met twee keuzes (die ik kan bedenken) toevoegen aan het bestaande archief terwijl de bestanden worden geüpload, wat de responstijd zal vergroten of het archief zal opbouwen telkens wanneer iemand de galerij wil downloaden.

Ik ken niet de mechanica of gegevensstructuren achter het hulpprogramma voor rippen dat PHP biedt, dus ik vraag je wat het minst duur is?

De afbeeldingen zijn allemaal JPEG-bestanden, dus compressie heeft geen effect en er kunnen mogelijk honderden afbeeldingen met een hoge resolutie zijn.

1

1 antwoord

Een derde keuze: instellen als een "cron" -taak om het archief dagelijks te bouwen. Dit betekent dat het proces niet is gekoppeld aan gebruikersactiviteit, gegarandeerd wordt en gebruikers niet vasthoudt.


Bewerken: tweede deel beantwoorden over welk hulpprogramma te gebruiken.

De PHP-handleiding geeft een kort overzicht: http://php.net/manual/en /phar.fileformat.comparison.php - maar er zijn in principe twee typen of archief/compressies:  - Zip, gzip, bzip (compressie, maar met de mogelijkheid om meerdere bestanden naar één archief te comprimeren)  - rar, tar (archiveren naar een enkel bestand, met de mogelijkheid om de grootte te verkleinen bij het bouwen van het archief)

Als u niet verwacht veel te verdienen door compressie, kijk dan eens naar een van de archiveringsfuncties (tar/rar enz.). De bekendste is "rar" maar de licentie staat niet toe dat PHP rar-bestanden maakt, dus je moet "tar" gebruiken. Tar is het meest gebruikelijk voor Linux-bestanden. U kunt dit doen via PHP-bibliotheek genaamd "phar" http: //www.php. net/manual/nl/intro.phar.php .

Als u denkt dat u misschien iets extra wilt uitpersen, is gzip WAARSCHIJNLIJK de beste (maar u moet het testen om het te zien). Dus neem je teer en comprimeer met gzip. Phar kan dit ook voor u aan (phar :: compress) in één eenvoudige klasse.

Laatste opmerking: als je op een Linux-server zit, krijg je absoluut de beste resultaten door tar- en gzip-opdrachten (in die volgorde) te bellen via exec (), omdat het brood en boter is voor Linux.

1
toegevoegd
Zoals in de Zip-bit? (Sorry het gemist). Extra info toegevoegd: het is realistisch eenvoudig in één klasse (phar) en u kunt enkele parameters wijzigen om exactyle te zien, wat u betere prestaties oplevert.
toegevoegd de auteur Robbie, de bron
Zal dat onderzoeken, bedankt :)
toegevoegd de auteur bio595, de bron
Verwijderd als antwoord, want hoewel het een oplossing is, wil ik graag het antwoord op mijn vraag weten :)
toegevoegd de auteur bio595, de bron
Proost, ja klinkt als tar zal zijn wat ik wil
toegevoegd de auteur bio595, de bron