Bonjour,
Imaginons je met un fichier test.zip dans www de wamp.
On va dans l'url et on le télécharge.
Maintenant je voulais savoir est ce qu'on peut limiter la taille autoriser en téléchargement par exemple a 10MB par fichier.
Merci.

Bonjour,
Imaginons je met un fichier test.zip dans www de wamp.
On va dans l'url et on le télécharge.
Maintenant je voulais savoir est ce qu'on peut limiter la taille autoriser en téléchargement par exemple a 10MB par fichier.
Merci.
Tu peux tester la taille du fichier avec la fonction filesize avant le téléchargement.

Oui, merci sa me sera utile.
Mais pour limiter tous les fichier accessible via une url comme http://monte.com/.zip ?
Tu dois contrôler tous les téléchargements avec PHP et ne pas permettre l'accès direct des ces fichiers (soit par une restriction dans le serveur web, soit en les mettant hors de portée du serveur).
En résumer tous les téléchargements seront de la forme telechargement.php?file=fichier.zipoù telechargement.php ayant la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 //definir la taille maximale de telechargement define('TAILLE_MAXIMALE', '100'); //réception du nom du fichier + nettoyage //ne jamais faire confiance aux donnees utilisateurs $fichier_a_telecharger = clean( $_GET['file'] ); //tous les fichiers téléchargeables devront dans un dossier unique $dossierPublic = '/publiczip/'; $fichier_complet = $dossierPublic.$fichier_a_telecharger; if( file_exists( $fichier_complet ) ){ $taille_fichier = filesize( $fichier_complet ); if( $taille_fichier < TAILLE_MAXIMALE ){ //entetes http header( 'Content-Type: application/octet-stream' ); header( 'Content-Disposition: attachment; filename='.basename($fichier_complet ) ); header( 'Content-Transfer-Encoding: binary'); header( 'Content-Length: ' . filesize( $fichier_complet )); //lecture du fichier readfile( $fichier_complet ); } } function clean( $filename ){ //cette fonction doit être enrichie return addslashes( $filename ); }
sinon j'ai vu qu'il y avait une entrée à la FAQ : Comment protéger des fichiers en téléchargement ?
thebarbarius > c'est pas mal ton idée, je sais pas si ça été prévu dans la conf des serveurs, ça serait pourtant simple à faire, ont fait bien des exception pour le nom des fichiers (filematch) ca serait intéressant de le faire sur la taille
Partager