LiL'SkiSo Posté 7 Mars 2006 Partager Posté 7 Mars 2006 Bonjour, Je désirerais créer un formulaire avec un champ de type "file" pour uploader un fichier sur le serveur. Mais je ne m'en sort pas trop, j'ai trouvé quelques tutos sur le net, et je suis les instructions mais ça ne fonctionne pas ... En plus, quand je vais dans phpinfo, je vois que mon "upload_tmp_dir" est en "no value" (je suis hébergé chez Free). J'aurais donc besoin d'assistance pour le faire pas à pas svp, si c'est possible... Je suis assez débutant en php, j'ai fait quelques trucs avec du mysql, et là j'ai besoin de quelque chose qui requiert beaucoup plus de connaissances... Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
xou Posté 8 Mars 2006 Partager Posté 8 Mars 2006 Et en regardant dans le manuel au lieu de tutos ? http://fr3.php.net/manual/fr/features.file-upload.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
NorSeb Posté 8 Mars 2006 Partager Posté 8 Mars 2006 Bonjour, Il ne faut pas oublier de mettre enctype="multipart/form-data" dans la balise FORM. D'autre part, fais attention à la taille du fichier. Il y a souvent des limites. Dans un premier temps, je te conseille d'essayer avec un petit fichier. Coté serveur, il y a peut-être des restrictions... mais c'est plutôt à Dan de t'orienter Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 8 Mars 2006 Partager Posté 8 Mars 2006 La limitation par défaut est de 2MB... mais je ne sais pas pour Free qui a tendance à "durcir les règles". Sinon, une fois qu'un fichier a été transmis, il faut utiliser move_uploaded_file() pour le sortir du répertoire temporaire dans lequel il est placé par défaut. Voir la page du manuel de php concernant la gestion des chargements de fichiers : http://www.manuelphp.com/php/features.file...post-method.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
al nassara Posté 8 Mars 2006 Partager Posté 8 Mars 2006 Je confirme, FREE c'est 2Mo maximum..et pas moyen de le changer (pas trouvé en tout cas..) Lien vers le commentaire Partager sur d’autres sites More sharing options...
LiL'SkiSo Posté 10 Mars 2006 Auteur Partager Posté 10 Mars 2006 Salut, merci à tous pour vos infos, par contre je voudrais insérer le champ "file" dans un formulaire qui contient déjà quelques champs, et dont il n'y a pas en "enctype". Sa marche si je le rajoute à coté de "Action" ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
adn Posté 10 Mars 2006 Partager Posté 10 Mars 2006 Oui tout à fait Lien vers le commentaire Partager sur d’autres sites More sharing options...
LiL'SkiSo Posté 16 Mars 2006 Auteur Partager Posté 16 Mars 2006 Salut à tous, J'ai créer ce formulaire depuis quelques jours en cherchant sur plusieurs sites. Je l'ai fini mais il m'indique une erreur d'extension, voici mon code : <?if( isset($_POST['upload']) ) // si formulaire soumis{ $content_dir = '/var/www/free.fr/9/9/va.skyjet/skyhtmltest/'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // on vérifie maintenant l'extension $type_file = $_FILES['fichier']['type']; if( !strstr($type_file, 'flt') && !strstr($type_file, 'FLT') ) { exit("Le fichier n'est pas le bon, son extension doit être .flt !"); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['fichier']['name']; if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier le fichier dans $content_dir"); } echo "Le fichier a bien été uploadé";}?> Je suis sur de vouloir uploader un fichier d'extension "flt", et il m'envoi le message d'erreur quand même ! Quelqu'un pourrait m'aider SVP ?? Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
NorSeb Posté 16 Mars 2006 Partager Posté 16 Mars 2006 Bonjour, Ajoute un echo $_FILES['fichier']['type']; Tu verras bien ce qu'il en est... Lien vers le commentaire Partager sur d’autres sites More sharing options...
LiL'SkiSo Posté 16 Mars 2006 Auteur Partager Posté 16 Mars 2006 Ca m'affiche : application/octet-stream C'est quoi :| ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
NorSeb Posté 16 Mars 2006 Partager Posté 16 Mars 2006 C'est le type de fichier En aucun cas l'extension. Pour vérifier que le nom du fichier comporte l'extension que tu veux tu peux faire : if (eregi(".flt", $FILES['fichier']['name'])) { Lien vers le commentaire Partager sur d’autres sites More sharing options...
LiL'SkiSo Posté 16 Mars 2006 Auteur Partager Posté 16 Mars 2006 D'accord, merci ça fonctionne ! Au fait, j'aurais aussi voulu que le nom porte celui d'une variable $file avec une extension .flt, Comment faire ?? Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
LiL'SkiSo Posté 16 Mars 2006 Auteur Partager Posté 16 Mars 2006 Ou plutôt de vérifier que le nom du fichier est bien le même que celui du $file ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
NorSeb Posté 17 Mars 2006 Partager Posté 17 Mars 2006 Il suffit de faire une comparaison non ? if ($_FILES['fichier']['name'] == $file) Lien vers le commentaire Partager sur d’autres sites More sharing options...
LiL'SkiSo Posté 17 Mars 2006 Auteur Partager Posté 17 Mars 2006 Oui en fait c'est bon, il fallait juste rajouter le if ($_FILES['fichier']['name'] == "$file.FLT") Et ça marche ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant