Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/03/2015, à 20:41

squeek

envoi de fichier via php qui fonctionne pas

Bonjour,
Débutant en php, je viens vers vous car je ne comprends pas comment configurer correctement mon serveur pour utiliser un simple formulaire php permettant d'uploader un fichier.

Je vous explique la situation : après avoir suivi scrupuleusement ce tutoriel décrit sur ce site , je suis arrivé à la conclusion au vu du message que je n'arrivais pas à uploader, le navigateur me répond comme indiqué dans le script ce message en cas d'erreur : " Veuillez indiquer un répertoire destination correct !".

Pourtant, j'ai bien créé un fichier un dossier upload dans la racine var/www/.
Au niveau des droits sur ce fichier, en tant qu'utilisateur, je suis rattaché à un groupe www-data qui lui a les droits d'écriture et de lecture sur l'ensemble de la racine /www/.

Donc là je sèche pourquoi mon navigateur n'arrive pas à uploader ces fichier comme indiqué dans le tutoriel cité plus haut ?

Qui pourrait m'éclaircir ?


Mon blog perso http://www.polyclic.fr

Hors ligne

#2 Le 18/03/2015, à 21:26

quaego

Re : envoi de fichier via php qui fonctionne pas

Bonsoir,

Selon la page web citée pour le script :

// ce répertoire doit EXISTER et être ACCESSIBLE EN ECRITURE !!
$destination_dir = '/var/www/html/upload'; 

La valeur de "$destination_dir" est-elle bien affectée à "/var/html/upload" (puisque c'est le répertoire qui a été créé) ?

Vérifier les droits et propriétaires/groupes de "/var/html/upload" ?

ls -l /var/html | grep upload

Si c'est une configuration standard, PHP tourne sous le compte du serveur Web, donc en effet "www-data". Le compte utilisateur du navigateur n'a aucune importance.

Sinon, dans le php.ini (/etc/php5/apache2/php.ini si Apache, sinon adapter), vérifier (et augmenter le taille maxi, 2 Mo par défaut, si souhaité) :

file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

Au passage, donner les droits en écriture sur tout /www au serveur Web n'est pas une bonne pratique en terme de sécurité. Seuls les répertoires absolument nécessaires devraient avoir un accès en écriture pour "www-data".

Hors ligne