situazione: ho una pagina php che mi legge da un database tutti i file_id associati ad un particolare progetto (i file possono essere anche diverse centinaia...)

per ogni file disegna una checkbox e l'utente può selezionare i file che intende scaricare, click su download e lo script genera un archivio zip che li contiene tutti...

il problema è che i file con cui ho a che fare possono avere dimensioni molto diverse in genere sono attorno a 1-5MB e fin qui tutto bene, ma ho anche alcuni file da 100MB e altri da 500MB.

ora sto facendo i test in locale e aumentano memory_limit in php.ini fino a 200M (che è come è settato sul server che dovrò usare) riesce a farmi lo zip di un file da circa 100M ma più in la di così non va...

quindi ecco le domande:

- ho fatto la cosa giusta agendo su memory limit?
- ci sono altri parametri del file php.ini che dovrei andare a modificare per questo problema?
- in generale è possibile fare, via php, lo zip di diversi file di dimensioni simili? e fino a dove ha senso sperare di arrivare?

... perché se comunque non ce la posso fare dovrò trovare una soluzione diversa, ad esempio facendo le checkbox solo per i file piccoli e per gli altri l'utente se li dovrà scaricare uno ad uno...