Problème uploader fichier [PHP]
Fermé
karottes
Messages postés
27
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
9 mars 2009
-
14 juil. 2008 à 02:01
karottes Messages postés 27 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 9 mars 2009 - 14 juil. 2008 à 16:19
karottes Messages postés 27 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 9 mars 2009 - 14 juil. 2008 à 16:19
A voir également:
- Problème uploader fichier [PHP]
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier iso - Guide
7 réponses
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
69
14 juil. 2008 à 12:54
14 juil. 2008 à 12:54
Ok, voilà un script pour uploader un fichier vers un serveur :
Voilà, ce script devrait marcher pour uploader un fichier vers ton serveur (je ne l'ai pas testé mais ça devrait être ok). Par contre, si ton serveur où tu exécute ce script est différent du serveur où tu souhaites transférer ton fichier, ça ne marchera pas de cette façon.
<?php $maxSize = 10000000; // Taille maximale autorisée $uploadDir = "mon_dossier_d_upload"; $typesOk = array(les, extensions, autorisées, ...); // Formulaire echo "<form action=\"$PHP_SELF\" method=\"post\" enctype=\"multipart/form-data\">"; echo "Fichier : <input type=\"file\" name=\"uploadedFile\" />"; echo "<input type=\"submit\" value=\"Uploader\"/>" echo "</form>"; // Fin du formulaire // On vérifie qu'on a bien un fichier transmis if(isset($_FILES['filename'])){ // On vérifie qu'il ne dépasse pas la taille maximale autorisée if($_FILES['size'] <= $maxSize){ // Vérification du type $elem = explode(".", $_FILES['filename']['name']); $nb = count($elem); if(in_array($elem[$n-1], $typesOk)){ // On transfère le fichier vers le dossier if(move_uploaded($_FILES['filename']['tmp_name'], $uploadDir."/".$_FILES['filename']['name'])) { echo "Transfert réalisé : $uploadDir/".$_FILES['filename']['name']; } else { echo "Le transfert n'a pas pu s'effectuer<br />"; } } else { echo "Ce type de fichier n'est pas autorisé" } } else { echo "Le fichier est trop gros<br />"; } } ?>
Voilà, ce script devrait marcher pour uploader un fichier vers ton serveur (je ne l'ai pas testé mais ça devrait être ok). Par contre, si ton serveur où tu exécute ce script est différent du serveur où tu souhaites transférer ton fichier, ça ne marchera pas de cette façon.
karottes
Messages postés
27
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
9 mars 2009
1
14 juil. 2008 à 14:49
14 juil. 2008 à 14:49
UP !!! Désolé, mais c'est vraiment urgent ...
baba_cool
Messages postés
183
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
1 novembre 2008
23
14 juil. 2008 à 07:35
14 juil. 2008 à 07:35
tu as bien les droits d'ecritures sur ton repertoire distant ( chmod 777)?
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
69
14 juil. 2008 à 07:51
14 juil. 2008 à 07:51
Je crois qu'il faut ajouter l'attribut enctype="multipart/form-data" quand tu veux faire de l'upload. A savoir aussi, tu as la variable $_FILES[] qui contient toutes les infos de fichiers transmis dans ton formulaire ($_FILES['size'] pour la taille, $_FILES['name'] pour le nom du fichier, $_FILES['tmp_name'] pour le chemin d'accès temporaire au fichier, $_FILES['type'] pour obtenir son type MIME etc...). Quand ton fichier est téléchargé sur ton serveur, il est placé dans un répertoire temporaire pour les divers traitement que tu pourrais souhaiter faire dessus. Pour le garder, il faut le sauvegarder autre part. Tu as la fonction move_uploaded() qui fait ça (ou un nom dans le genre)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
karottes
Messages postés
27
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
9 mars 2009
1
14 juil. 2008 à 12:25
14 juil. 2008 à 12:25
Pour baba_cool : oui, TOUT est en 777, mon fichier d'upload et mon repertoire d'upload !
Pour Sri Lumpa : Ben en faite le truc c'est que moi, je ne connait que les bases (les bases bases hein, attention !) du PHP donc en gros, ce script je l'ai téléchargé et mis en place juste, seulement ça va faire le sixième que je met en place : sans succès ! Si tu pourrais me donner un script valable (sur la base de celui si par exemple, juste que tu le modifie) ou un lien vers un script qui marche, ce serait super (baba_)cool...
Merci d'avance !
P.S. Cela ne pourrait-il pas venir de mon OS : Linux (Linpus 9.4) ou de quelque chise dans le genre, explorateurr internet, logi. de transfert FTP ... ?
Pour Sri Lumpa : Ben en faite le truc c'est que moi, je ne connait que les bases (les bases bases hein, attention !) du PHP donc en gros, ce script je l'ai téléchargé et mis en place juste, seulement ça va faire le sixième que je met en place : sans succès ! Si tu pourrais me donner un script valable (sur la base de celui si par exemple, juste que tu le modifie) ou un lien vers un script qui marche, ce serait super (baba_)cool...
Merci d'avance !
P.S. Cela ne pourrait-il pas venir de mon OS : Linux (Linpus 9.4) ou de quelque chise dans le genre, explorateurr internet, logi. de transfert FTP ... ?
karottes
Messages postés
27
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
9 mars 2009
1
14 juil. 2008 à 13:01
14 juil. 2008 à 13:01
Sa me fait pareil, tout marche, pas de message d'erreur, mais pas d'upload ... (tu avait oublié 2 ";" ;)
Je suis sur que cela viens d'autre par que du script (tout est en Chmod 777)
J'ai fait un test avec un type de fichier normalement refusé et ... ça ne me met pas le message d'erreur --" je déprime cela fait plus de deux jours et trois nuits que je reste bloqué là ... AIDEZ MOI S.V.P. !!!
J'ai modifé ce code de cette façon :
j'ai un hébergement mutualisé !
Je suis sur que cela viens d'autre par que du script (tout est en Chmod 777)
J'ai fait un test avec un type de fichier normalement refusé et ... ça ne me met pas le message d'erreur --" je déprime cela fait plus de deux jours et trois nuits que je reste bloqué là ... AIDEZ MOI S.V.P. !!!
J'ai modifé ce code de cette façon :
<?php $maxSize = 10000000; // Taille maximale autorisée $uploadDir = "upload/"; $typesOk = array(piv, stk, gif, bmp, jpeg, jpg, pgn, mp3, mpeg, avi); // Formulaire echo "<form action=\"$PHP_SELF\" method=\"post\" enctype=\"multipart/form-data\">"; echo "Fichier : <input type=\"file\" name=\"uploadedFile\" />"; echo "<input type=\"submit\" value=\"Uploader\"/>"; echo "</form>"; // Fin du formulaire // On vérifie qu'on a bien un fichier transmis if(isset($_FILES['filename'])){ // On vérifie qu'il ne dépasse pas la taille maximale autorisée if($_FILES['size'] <= $maxSize){ // Vérification du type $elem = explode(".", $_FILES['filename']['name']); $nb = count($elem); if(in_array($elem[$n-1], $typesOk)){ // On transfère le fichier vers le dossier if(move_uploaded($_FILES['filename']['tmp_name'], $uploadDir."/".$_FILES['filename']['name'])) { echo "Transfert réalisé : $uploadDir/".$_FILES['filename']['name']; } else { echo "Le transfert n'a pas pu s'effectuer<br />"; } } else { echo "Ce type de fichier n'est pas autorisé"; } } else { echo "Le fichier est trop gros<br />"; } } ?>
j'ai un hébergement mutualisé !
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
69
14 juil. 2008 à 15:31
14 juil. 2008 à 15:31
Ton script est bien hébergé au même endroit que ton serveur FTP ? Rajoute des echo un peu partout pour voir ce qui ne va pas, mais je t'avoue que comme ça, je vois pas d'où viens ton problème :s
karottes
Messages postés
27
Date d'inscription
samedi 9 février 2008
Statut
Membre
Dernière intervention
9 mars 2009
1
14 juil. 2008 à 16:19
14 juil. 2008 à 16:19
Bah mon script est SUR mon serveur FTP ... regarde :
C'est vraiment important, d'autres personne que Sri Lumpa pouvait me répondre, ce serait pas mal ;)
Serveur | htacces | répertoire "upload" | répertoire "upload" script d'upload
C'est vraiment important, d'autres personne que Sri Lumpa pouvait me répondre, ce serait pas mal ;)