|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
En attente de confirmation mail
Inscription : octobre 2003 Messages : 1 249 ![]() |
Bonjour,
je voudrais uploader un fichier sur un serveur. L'ideal serait de le faire en AJAX (pour que l'utilisateur puisse continuer à naviguer sur la page web), mais j'ai cru comprendre que c'est impossible. qu'elles sont les methodes pour uploader un fichier ? comment ça fonctionne exactement ? c'est le serveur qui va chercher le fichier chez l'hote ou c'est l'hote qui envoie directement le fichier sur le serveur ? je ne comprende pas bien comment fonctionne le transfert (bniveau securité) => normalement, l'hote n'a pas le droit d'ecrire directement sur le serveur, non ? et le seveur n'a pas le droit de lire le disque dure de l'hote, non ? |
|
|
00
|
|
|
#2 | ||||
|
Membre chevronné
![]() Inscription : février 2005 Messages : 671 ![]() |
Hello,
Tout dépend des langages disponibles sur ton serveur... Mais dans tous les cas, il faut que ton serveur autorise les upload de fichiers... Je te donne ici l'exemple en PHP Mais en gros tu utilises un champ INPUT FILE et un encodage de formulaire spécifique Code :
Quand il va le valider, le serveur va uploader le fichier chez lui. Ensuite tu peux récupérer les infos du fichier comme ceci dans le script pout le traietement : $file = $_FILES['cover']['tmp_name'] => Nom du fichier temporaire envoyé sur le serveur. Il te faudra le déplacer, renommer a l'aide de PHP $name = $_FILES['cover']['type'] => Le type MIME du fichier qui a été envoyé. Utilie pour voir si le type de fichier est autorisé (par ton script). $size = $_FILES['cover']['size'] => La taille du fichier qui a été envoyé. Pour le déplacer tu fais comme ceci : Code :
Upload de fichiers en PHP @+ cadou
__________________
PHP Competition System Script de gestion de coupes et championnats http://phpcompet.free.fr Mon jeu de foot |
||||
|
|
00
|
|
|
#3 |
|
En attente de confirmation mail
Inscription : octobre 2003 Messages : 1 249 ![]() |
je n'ai pas bien compris : lorsque l'on fait un "post", on ecrit directement sur le disque dur du serveur (je ne comprends pas pourquoi on a le droit d'ecrire comme ça sur le disque dur : c'est dangereux, non ? ...ex : si on envoie pleins de fichiers valumineux en même temps => risque de remplir le disque dure ...) ?
c'est quoi le protocole utilisé lors de l'envoie du fichier (HTTP, FTTP,...) ? |
|
|
00
|
|
|
#4 | ||
|
Membre chevronné
![]() Inscription : février 2005 Messages : 671 ![]() |
Hello,
La solution décrite est en HTTP. Il existe des solutions via FTP, mais je les connais mal. La solution HTTP est la plus courante. On n'écrit pas réellement sur le serveur, on écris dans un fichier temporaire qui se videra de lui meme. C'est ton sc ript (qui lui a la main) qui va déplacer du répertoire temporaire vers l'endroit voulu pour le stockage. Il n'y a pas de réel risque de saturer le serveur car : Dans le formulaire tu peux mettre une sécurité de cette manière : Code :
100000 => 100Ko 1000000 => 1Mo D'autre part il existe dans la configuration du serveur une limite autorisée pour l'upload du fichier. Dans la plupart des cas cette limite se situe à 2Mo Enfin et pour conclure, tu peux vérifier toi même la taille du fichier qui a été envoyé avec la variable $size = $_FILES['cover']['size'] Si elle ne correspond pas a ce que tu souhaites, tu ne déplace pas le fichier temporaire et ce dernier s'effacera tout seul. @+ cadou
__________________
PHP Competition System Script de gestion de coupes et championnats http://phpcompet.free.fr Mon jeu de foot |
||
|
|
00
|
|
|
#5 |
|
En attente de confirmation mail
Inscription : octobre 2003 Messages : 1 249 ![]() |
ok merci pour ta reponse
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com