IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Uploader un fichier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2018
    Messages : 20
    Points : 21
    Points
    21
    Par défaut Uploader un fichier
    Bonjour,
    J'ai essayé d'uploader un fichier vers mon dossier "fichiers envoyés" avec ce code mais ça n'a pas marché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <!DOCTYPE html>
    <html>
    <head>
    	<title> ENVOI FICHIERS </title>
    </head>
    <body>
    	<form method="post" action="Envoi_Fichiers.php" enctype="multipart/form-data">
    		<p>
    			<label for="fich"></label>
    			<input type="file" name="fichier1" id="fich">
    			<input type="submit" value="UPLOAD">
    		</p>
    	</form>
    	<?php
    		print_r($_FILES);
    		if ($_POST AND (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0)){
    			$nom_fichier = $_FILES['fichier1']['name'];
    			$type_fichier = $_FILES['fichier1']['type'];
    			$taille_fichier = $_FILES['fichier1']['size'];
    			$empl_temp_fichier = $_FILES['fichier1']['tmp_name'];
    			$erreurs_fichier = $_FILES['fichier1']['error'];
    			//Envoi du fichier
    			$repertoireDestination = dirname('Fichiers_envoyes/');
    			if (!exists($repertoireDestination)){
    				echo "Le répertoire de destination n'existe aps!!!!!!";
    			}
    			move_uploaded_file($_FILES['fichier1']['tmp_name'],'Fichiers_envoyes/'.basename($_FILES['fichier1']['name']));
    			echo 'Le fichier a ètè bien envoyé avec succès <br />';
    			echo 'son nom est : '.$nom_fichier.'<br />';
    			echo 'son type est : '.$type_fichier.'<br />';
    			echo 'sa taille est : '($taille_fichier/(1024*1024)).'Mo <br /> ';
    			echo 'son emplacement temporaire était : '.$empl_temp_fichier.'<br />';
     
    			print_r($_FILES);
     
    		}else{
    			if ($_POST AND ((!isset($_FILES['fichier1'])) || (empty($_FILES['fichier1'])))){
    				echo 'Vous n\'avez pas séléctionner un fichier à uploder <br />';
    			}
    			if ($_POST AND ($_FILES['fichier1']['error'] !== 0)){
    				echo 'Il y\'a une erreur lors de l\'envoi du fihier <br />';
    			}
    		}
    	?>
    </body>
    </html>
    Veuillez me répondre s.v.p.
    Cordialement.
    Merci.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($_POST AND (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0))
    //et 
    if (!exists($repertoireDestination))
    Il y'a des problèmes au niveau des deux conditions au dessus, correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0)
    //et 
    if (!file_exists($repertoireDestination))
    La même chose dans le block else au-dessous...

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    Toufik83 a raison avec ses remarques. Tu en as tenu compte ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2018
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Bonjour,
    Merci Toufik83
    j'ai essayé avec ce code et ça a marché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<title> ENVOI FICHIER2 </title>
    </head>
    <body>
    	<form method="post" action="Envoi_Fichiers2.php" enctype="multipart/form-data">
    		<p>
    			<label for="fich"></label>
    			<input type="file" name="fichier1" id="fich">
    			<input type="submit" value="UPLOAD">
    		</p>
    	</form>
     
    	<?php		
    		if (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0){
    			$nom_fichier = $_FILES['fichier1']['name'];
    			$type_fichier = $_FILES['fichier1']['type'];
    			$taille_fichier = $_FILES['fichier1']['size'];
    			$empl_temp_fichier = $_FILES['fichier1']['tmp_name'];
    			$erreurs_fichier = $_FILES['fichier1']['error'];
    			//Envoi du fichier
    			$repertoireDestination = dirname('Fichiers_envoyes/');
    			if (!file_exists($repertoireDestination)){
    				echo "Le répertoire de destination n'existe pas!!!!!!";
    			}
    			move_uploaded_file($_FILES['fichier1']['tmp_name'],'Fichiers_envoyes/'.basename($_FILES['fichier1']['name']));
    			echo 'Le fichier a ètè envoyé avec succès <br />';
     
    		}else{
    			if (isset($_FILES['fichier1']) AND empty($_FILES['fichier1'])){
    				echo 'Vous n\'avez pas séléctionné un fichier à uploder <br />';
    			}
    			if (isset($_FILES['fichier1']) AND $_FILES['fichier1']['error'] !== 0){
    				echo 'Il y\'a une erreur lors de l\'envoi du fihier <br />';
    			}
    		}
    	?>
     
    </body>
    </html>
    Cordialement.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Bonjour, c'est moi que tu as plussé alors que c'est Toufik83 qui t'a apporté la solution !

    Je vais quand même apporter une petite proposition. L'action du formulaire est dans le même fichier que le formulaire lui-même. Dans ce cas, tu peux remplacer <form method="post" action="Envoi_Fichiers2.php" enctype="multipart/form-data"> par <form method="post" action="" enctype="multipart/form-data"> et si tu es en HTML5, tu peux carrément supprimer l'attribut action : <form method="post" enctype="multipart/form-data">
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2018
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Merci à vous les deux.

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Au besoin, si tu veux pouvoir télécharger y compris des gros fichiers en t'affranchissant des limites serveur "post_max_size" et "upload_max_filesize" tu peux utiliser ce module d'upload. Il propose une quinzaine de scripts prêts à l'emploi et de nombreuses fonctionnalités intégrées: retour d'informations en temps réel, contrôle de la taille, des extensions et du type MIME, gestions des erreurs fatales du serveur, recadrage d'images avant upload, création d'albums photos, notations de fichiers, supporte l'upload multiple, etc.

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    j'ai mis ton lien ABCIWEB dans mes favoris et prendrai plus tard le temps de l'étudier.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 17h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 12h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo