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 d'image, restriction des extensions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Par défaut [Upload] Upload d'image, restriction des extensions
    Bonjour,

    Voilà l'extrait de mon code:
    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
    // On vérifie le type du fichier, on accepte que les images jpeg/gif/png
    			if (($HTTP_POST_FILES['userfile']['type'] == "image/gif")  
    				|| ($HTTP_POST_FILES['userfile']['type'] == "image/jpeg") 
    				|| ($HTTP_POST_FILES['userfile']['type'] == "image/png")) {
    				// On ajoute l'image dans le dossier
    				$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "./".$path.$HTTP_POST_FILES['userfile']['name']);
    				// On mémorise l'adresse de l'image
    				$carte_img = "./".$path.$HTTP_POST_FILES['userfile']['name'];
    				// On mémorise le type de l'image
    				$type = $HTTP_POST_FILES['userfile']['type'];
    				// Si la copie n'as pas été fait, on affiche une erreur
    				if (!$res) {
    					$error .=  $lang['304']."<br>\n";
    				}
    			// 	Si le fichier n'est pas une image jpeg/gif/png, on affiche une erreur.
    			} else { 
    				$error .= $lang['305']."<br>\n";
    			}

    Mon soucis est le suivant,
    quand j'upload un fichier genre .doc, j'ai bien l'affichage de l'erreur comme quoi il faut que sa soit un .jpg .gif ou .png.

    Maintenant j'ai fait un autre test en uploadant un .bmp,
    et bien il n'y a pas de message d'erreur et le programme tourne sans vouloir s'arreter....

    C'est parce que le bmp est de type image ?
    Comment je dois rectifier çà ?


    merci

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    au vue du script que tu donnes, le comportement que tu décris est très imporbable, tu es sûr que le script se lance ?(i.e. : que le fichier est totalement uploadé ?) Quelles sont les tailles de ton .doc et de ton .bmp ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Par défaut
    Bon ca va pas du tout, j'ai testé avec un autre .doc et il a affiché aucune erreur mais en plus il dit que tout c'est bien passé et que c'est enregistré...

    j'ai donc un problème avec mes restriction d'extension


    edit bon le .doc nest pas accepté, j'ai du oublié de reactualisé ma page apres le transfere ftp.

    mais le .bmp marche toujours pas, il tourne ds le vide

    extrait de mon code un peu plus étendu:
    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
    // Si on ne upload pas de fichier, on affiche une erreur.
    		if (!is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { $error .= $lang['302']."<br>\n"; }
    		if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
    			// Si la taille depasse la taille maximum, on affiche une erreur
    			if ($HTTP_POST_FILES['userfile']['size'] > $max_size) {
    				$error .= $lang['303']."<br>\n";
    			}
    			// On vérifie le type du fichier, on accepte que les images jpeg/gif/png
    			if (($HTTP_POST_FILES['userfile']['type'] == "image/gif")  
    				|| ($HTTP_POST_FILES['userfile']['type'] == "image/jpeg") 
    				|| ($HTTP_POST_FILES['userfile']['type'] == "image/png")) {
    				// On ajoute l'image dans le dossier
    				$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "./".$path.$HTTP_POST_FILES['userfile']['name']);
    				// On mémorise l'adresse de l'image
    				$carte_img = "./".$path.$HTTP_POST_FILES['userfile']['name'];
    				// On mémorise le type de l'image
    				$type = $HTTP_POST_FILES['userfile']['type'];
    				// Si la copie n'as pas été fait, on affiche une erreur
    				if (!$res) {
    					$error .=  $lang['304']."<br>\n";
    				}
    			// 	Si le fichier n'est pas une image jpeg/gif/png, on affiche une erreur.
    			} else { 
    				$error .= $lang['305']."<br>\n";
    			}
    		}
    l'upload est donc verifier

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    tu as essayé de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_FILES['userfile']['type']
    ?

    de plus essaie d'utiliser des else ou des elseif plutôt que des if qui se suivent
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Par défaut
    suis-je bete !!!!!

    J'ai pas regardé le poid du bmp....
    Il fait 12 Mo !!!

    c'est pour çà que sa tourne sans fin !


    voilà, j'ai testé avec un .bmp tout leger et sa marche!

    rolala j'ai perdu mon temps sur une betise...

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Par défaut
    decidement j'ai du mal,
    voila mon code:
    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
    		if (!is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { $error .= $lang['302']."<br>\n"; }
    		elseif (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
     
    			// Si la taille depasse la taille maximum, on affiche une erreur
    			if ($HTTP_POST_FILES['userfile']['size'] > $max_size) {
    				$error .= $lang['303']."<br>\n";
    			}
    			// On vérifie le type du fichier, on accepte que les images jpeg/gif/png
    			if (($HTTP_POST_FILES['userfile']['type'] == "image/jpeg")  
    				|| ($HTTP_POST_FILES['userfile']['type'] == "image/gif") 
    				|| ($HTTP_POST_FILES['userfile']['type'] == "image/png")) {
    				// On ajoute l'image dans le dossier
    				$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], "./".$path.$HTTP_POST_FILES['userfile']['name']);
    				// On mémorise l'adresse de l'image
    				$carte_img = "./".$path.$HTTP_POST_FILES['userfile']['name'];
    				// On mémorise le type de l'image
    				$type = $HTTP_POST_FILES['userfile']['type'];
    				// Si la copie n'as pas été fait, on affiche une erreur
    				if (!$res) {
    					$error .=  $lang['304']."<br>\n";
    				}
    			// 	Si le fichier n'est pas une image jpeg/gif/png, on affiche une erreur.
    			} else { 
    				$error .= $lang['305']."<br>\n";
    			}
    		}
    mon problème c'est que j'arrive seulement a ajouter des .gif,
    .jpg et .png j'ai l'erreur "305" mauvaise extension qui s'affiche.
    comprend pas...

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Question bête avant de commencer à regarder ton code : qu'en est-il du temps d'upload ? Le BMP n'est pas du tout un format prévu pour le Net car les fichiers pèsent bien trop lourd : es-tu certain que l'upload se passe bien ? Rappelle-toi que ton script ne commencera vraiment à s'exécuter qu'à la fin du transfert.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2007, 22h16
  2. [Upload] Upload FTP avec image > 1Mo
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2007, 13h09
  3. [Upload] upload d'une image
    Par emna_icn dans le forum Langage
    Réponses: 11
    Dernier message: 04/05/2006, 23h14
  4. [Upload] Upload d'une image
    Par Seth77 dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2006, 11h00
  5. [Upload] upload de fichier images
    Par omlip dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2006, 23h13

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