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 :

Upload des fichiers


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 26
    Points
    26
    Par défaut Upload des fichiers
    Bonjour !

    Aujourd'hui j'ai un petit problème, pour un site je doit mettre en place des uploads de fichiers, seul hic c'est qu'elle ne fonctionne pas avec tous les types de fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //récupération du fichier
    	$nom_photo =  $_FILES['photo']['name'];
    	$type_photo = $_FILES['photo']['type'];
    	$tmprep_photo =  $_FILES['photo']['tmp_name']; //fichier temporaire source.
    echo $type_photo;
    jeux d’essais :
    04.jpg
    echo : image/jpg

    05.JPG
    echo :

    Ce qui fait buger la suite du programme, j'ai aussi chercher sur internet, je n'est rien trouver.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La recommandation de PHP est de ne pas se baser sur le type du fichier tel qu'il est présenté par le navigateur mais sur l'extension du fichier.
    Il serait également de bon ton de spécifier une série d'extensions autorisées ainsi qu'une limite à la taille du fichier.

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu devrais voir avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom_photo =  $_FILES['photo']['error'];
    car il peux y avoir de multiples raisons ...
    tu fais un echo pour le téléchargement de 5.JPG et tu verras
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <?php
    	session_start();
     
    	//récupération des variables post
    	$titre = $_POST['titre'];
    	$lib = $_POST['lib'];
     
    	//récupération des sessions
    	if(isset($_SESSION['Identifiant_de_connexion'])){
    		$pseudo = $_SESSION['Identifiant_de_connexion'];
    	}
     
    	//récupération du fichier
    	$nom_photo =  $_FILES['photo']['name'];
    	$type_photo = $_FILES['photo']['type'];
    	$erreur_photo = $_FILES['photo']['error'];
    	$tmprep_photo =  $_FILES['photo']['tmp_name']; //fichier temporaire source.
    	$extension=strrchr($nom_photo,'.');
     
    	//prb ici --------------------
    	echo $tmprep_photo;   //------
    	//----------------------------
     
    	//paramètre de la page
    	$rep = '../../images/utilisateurs/'.$pseudo.'/';
    	include('../../fonction/fonction.php');
    	connexion_base_de_donnee();
     
    	//on teste la photo
    	if(($extension != '.jpg') && ($extension != '.JPG') && ($extension != '.png') && ($extension != '.PNG') && ($extension != '.bmp') && ($extension != '.BMP')){
    		echo"<script LANGUAGE=\"JavaScript\">alert('Erreur de format de l\'image')</script>";
    		header('Refresh:0; url=../../index.php?id=Membre&cat=Photo');
    	}
     
     
    	//on teste le formulaire
    	elseif(!$titre){
    		echo"<script LANGUAGE=\"JavaScript\">alert('Vous devez saisir un titre')</script>";
    		header('Refresh:0; url=../../index.php?id=Membre&cat=Photo');
    	}
     
    	//upload de l'image
    	else{
    		//mise en forme de l'enregistrement dans la base de donée
     
    		//recherche des photos	
    		$rqt_recheche_photo = "SELECT max(ID_Photo) FROM Photo";
    		$exec_rqt_recheche_photo = mysql_query($rqt_recheche_photo) or die ('Erreur lors de la récupération du plus grand ID des photo' .mysql_error());
    		$data_rqt_recheche_photo = mysql_fetch_array($exec_rqt_recheche_photo);
     
    		//mise en forme d'un nom de fichier indoublonnable 
    		$nom_photo = $pseudo .= $data_rqt_recheche_photo['max(ID_Photo)'] + 1 . $extension;
    		//recherche de l'uilisateur posteur
    		$rqt_recherche_utilisateur = 'SELECT ID_Utilisateurs, Pseudo_Utilisateurs FROM Utilisateurs WHERE Pseudo_Utilisateurs = "'.$_SESSION['Identifiant_de_connexion'].'"';
    		$exec_recherche_utilisateur = mysql_query($rqt_recherche_utilisateur) or die ('Erreur lors de la récupération de l\'ID du posteur'.mysql_error());
    		$data_rqt_recherche_utilisateur = mysql_fetch_array($exec_recherche_utilisateur);
    		$ID_Utilisateurs = $data_rqt_recherche_utilisateur['ID_Utilisateurs'];
     
    		//recherche de la date courante
    		$date_courante = date("y-m-d");
     
    		//enregistrement dans la base de donnée
    		$rqt_enregistrement_photo = "
    		INSERT INTO	photo (Titre_Photo, Nom_Photo, Lib_Photo, Date_Photo, ID_Utilisateurs)
    		VALUES ('$titre', '$nom_photo', '$lib', '$date_courante', '$ID_Utilisateurs')";
    		//$exec_rqt_enregistrement_photo = mysql_query($rqt_enregistrement_photo) or die ('Erreur lors de l\'enregistrement de la photo dans la base '.mysql_error());
     
     
    		//la copie
    			echo $nom_photo;
     
    			echo $rep;
    			move_uploaded_file($tmprep_photo, $rep . $nom_photo);
    		//finition
    		echo"<script LANGUAGE=\"JavaScript\">alert('Merci')</script>";
    		header('Refresh:0; url=../../index.php?id=Membre&cat=Photo');
    	}
    ?>
    Les raiponces que vous m'avez donner n'ont pas résolue le problème

    quand je sélectionne .JPG j'ai pas de chemain temporaire et quand je met .jpg ça marche pourquoi ?

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    C'est beau de mettre $erreur_photo = $_FILES['photo']['error']; dans une variable mais il faudrait l'exploter

    Fait et donne moi un echo de $erreur_photo pour 5.JPG

    Merci
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Toutes les réponses à tes questions se trouvent ici http://php.net/manual/fr/features.file-upload.php

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    J'ai l’erreur 1

    UPLOAD_ERR_INI_SIZE
    Valeur : 1. Le fichier téléchargé excède la taille de upload_max_filesize, configurée dans le php.ini.
    je vais modifier ça

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    Malgré les modification ça ne marche toujours pas

  9. #9
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Faut relancer les services ... Apache pour prendre en compte les modifications
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Mai 2012
    Messages : 55
    Points : 26
    Points
    26
    Par défaut
    J'ai modifier le mauvais php.ini et ça marche. Merci

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

Discussions similaires

  1. Upload des fichier avec AJAX
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/01/2007, 07h52
  2. download et upload des fichier avec JSP & mysql
    Par MSM_007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/07/2006, 15h20
  3. upload des fichiers dans mon serveur
    Par abdou.sahraoui dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/05/2006, 09h32
  4. upload des fichiers
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 19/04/2006, 07h02
  5. Uploader des fichiers via ssh
    Par Michaël dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2005, 20h47

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