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] upload de jpg et bmp impossible


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Upload] upload de jpg et bmp impossible
    Bonjour,
    j'ai un petit soucis d'upload d'image. Le format gif passe très bien par contre le jpg et bmp ne passent pas, j'ai beau chercher depuis 3 jours, je ne trouve pas le problème...

    voici le code de reception de l'upload, qui est fait à l'aide d'un formulaire :

    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
     
    <?php
    require('connect1.php');
    ?>
    <html>
    <head>
    <link rel="stylesheet" href="style.css" type="text/css">
    </head>
     
    <?php
     
    if( isset($_POST['upload']) ) // si formulaire soumis
    	{
        $content_dir = '../photos/'; // dossier où sera déplacé le fichier
    	$tmp_file = $_FILES['name_file']['tmp_name'];	}
     
    if(!empty($descriptif) && !empty($format) && !empty($mots_cles) && !empty($lieu) && !empty($date))
    	{
    	print("<p class=titre>Descriptif : $descriptif<br>Format : $format<br>Mots-clés : $mots_cles<br>Lieu : $lieu<br>Date : $date<br></p>");
    	}
    else if($name_file_size>200000)
    	{
    	print("<p class=titre>fichier trop lourd");
    	}
    else
    	{
    	print("<p class=titre>remplir tous les champs</p><br>");
    	exit;
    	}
     
    if( !is_uploaded_file($tmp_file) )
        {
        print("<p class=titre>le fichier est introuvable<br></p>");
      	}
    // on vérifie maintenant l'extension
    $type_file = $_FILES['name_file']['type'];
    echo "uiju : $type_file<br>";
    if(!strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif'))
    //if($tmp_file_type!="image/gif" && $tmp_file_type!="image/jpg" && $tmp_file_type!="image/jpeg" && $tmp_file_type!="image/bmp")
       	{
        exit("<p class=titre>le fichier n'est pas une image</p>");
       	}
    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['name_file']['name'];
    if( !move_uploaded_file($tmp_file, $content_dir.$name_file) )
        {
        exit("Impossible de copier le fichier");
       	}
    echo '<p class=titre>Le fichier a bien été uploadé</p><br>';
     
     
    $sql="INSERT INTO photos VALUES ('','$name_file','$id_theme','$descriptif','$id_photographe','$format','$mots_cles','$lieu','$date')";
    $req=mysql_query($sql) or die ('Erreur SQL <br>').$sql.'<br>'.mysql_error();
     
    $sql3="SELECT nom_photographe FROM photographe WHERE id_photographe='$id_photographe'";
    $req3=mysql_query($sql3) or die ('Erreur SQL3 <br>').$sql3.'<br>'.mysql_error();
    $nbr3=mysql_num_rows ($req3);
    for($i=0;$i<$nbr3;$i++)
    	{
    	list ($nom_photographe) = mysql_fetch_array($req3);
    	}
    	include 'miniature.php';
    ?>
    </html>

  2. #2
    Membre habitué Avatar de Orionmel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 174
    Points : 185
    Points
    185
    Par défaut
    Cela vient peut être du fait de tes tests d'extension de fichier :

    Essai c bout de code (en adaptant à tes noms de variables) pour reconnaitre un fichier jpg et dit moi si ca marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (strtoupper(substr($_FILES["ficphoto"]["name"], (strpos($_FILES["ficphoto"]["name"], ".")+1), (strlen($_FILES["ficphoto"]["name"])-(strpos($_FILES["ficphoto"]["name"], ".")+1))))=="JPG")

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    autre bout de code pour testet les extensions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
      $typesource=strtolower(substr(strrchr($_FILES['fichier']['name'], '.'), 1));
      if( !in_array($typesource, $extensions_ok ) )
    echo 'erreur de format';
    ?>

Discussions similaires

  1. [Upload] Upload de fichier impossible IE6.0
    Par LhIaScZkTer dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2007, 20h58
  2. [Upload] Upload impossible lorsque taille>>
    Par oops! dans le forum Langage
    Réponses: 1
    Dernier message: 23/09/2006, 10h19
  3. [Forum] Script upload + redimensionnement image jpg
    Par baleiney dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 03/07/2006, 11h27
  4. [Upload] Upload .jpg |enctype="multipart/form-data"
    Par Funraill.net dans le forum Langage
    Réponses: 4
    Dernier message: 16/01/2006, 17h44

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