2009-08-26 10 views
2

En utilisant un uploader PHP et je me demandais s'il y avait un moyen de remplacer les valeurs par défaut dans php.ini pour post_max_size et upload_max_filesize dans un script spécifique? Vous ne voulez pas le changer universellement dans php.ini parce que, bien qu'il soit correct de faire la limite sur l'uploader dans notre section d'administration, nous ne voulons pas de limite dans la section publique.post_max_size et upload_max_filesize au cas par cas

Répondre

0

La modification de cette valeur par utilisateur n'est possible que si vous écrivez dans un fichier .htaccess à chaque visite. Pourquoi ne pas autoriser simplement le téléchargement et le rejeter s'il est trop grand?

J'ai trouvé this mais je ne lui fais pas confiance car HTML n'a aucune idée de ce que vous faites avec cette entrée.

EDIT: Fondamentalement, comme Apache est ce qui gère le transfert physique du fichier, vous devez qu'Apache soit conscient des limites avant que l'utilisateur ne soumette le formulaire. Comme le HTML n'a rien à voir avec cela, vous ne pouvez pas le définir et comme PHP n'est utile que lorsque le fichier est réellement sur le serveur, vous devez le vérifier après l'avoir téléchargé. Désolé, j'ai réalisé que ma première réponse était un peu vague. J'espère que cela aide un peu plus.

1

Vous devriez être capable de le faire via un fichier .htaccess. Supposons que vous souhaitiez autoriser des téléchargements de 10 Mo pour la zone d'administration et 2 pour le côté public. Je mis la valeur par défaut (en php.ini) être 2 Mb, puis dans la zone d'administration, ajouter à un fichier htaccess:

php_flag upload_max_filesize 10M 

Modifier
Ceci est destiné à travailler sur un niveau de répertoire - J'ai supposé que vos pages d'administration s'exécutent toutes depuis say mydomain.com/admin/ avec un dossier physique/admin dans votre site web (où vous placez le fichier .htaccess)

0

Essayez d'utiliser le php ini_set fonction

Vous devriez pouvoir remplacer les valeurs par défaut dans le fichier php.ini de cette façon. Assurez-vous de l'appeler avant toute sortie de page.

+2

En fait, puisque le fichier téléchargé est reçu et analysé avant qu'il n'atteigne le code php, ini_set ne vous aidera pas ici. – gnarf