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

PHP & Base de données Discussion :

enregistrer une images via un formulaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Guinée

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 112
    Par défaut enregistrer une images via un formulaire
    Salut tout le monde voilà j'essaye d'envoyer une image dans ma base de données en vérifiant d'abord si le nom de l'image existe ou pas et tout en contrôlant la taille de l'image. Et le problème en faite c'est l'utilisation de la fonction filesize voilà le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    session_start();
    // On vérifie que le login et le mot de passe ont été précisés 
    if(array_key_exists('pseudo', $_SESSION)) {
    	// Connexion à la base 
    	$connexion=mysql_connect("localhost", "root", "" )or die("cannot connect" );
    	mysql_select_db("nomdemabase" )or die("cannot select DB" );
    	mysql_query("SET NAMES 'utf8'" );
    	$pseudo=$_SESSION['pseudo'];
    	$photo=$_FILES['photo']['name'];
    	$max=$_POST['max_file_size'];
    	if(($_FILES['photo']['name']<>"avatar.png")&&(filesize($_FILES['photo']['name']) <$_POST['max_file_size'])){
    		echo'verification reussie taille de l image <'.$max;	
    }
    Bon c'est juste un morceau de mon code mais largement suffisant pour voir mon problème et voici le code d'erreur associé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: filesize() [function.filesize]: stat failed for batigoal.jpg in C:\wamp\www\profil\reqenvimg.php on line 12
    verification reussie taille de l image <50000
    Si quelqu'un pouvait m'aidier

  2. #2
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Cette erreur vient a priori d'un problème de lecture du fichier.
    Es-tu sûr d'avoir les droits sur ce répertoire ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre confirmé
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Guinée

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 112
    Par défaut
    Bien sûre que oui j'ai tous les droits sur le dossier et sur le fichier!

  4. #4
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Salut,

    Fait ton filesize() sur le tmp_name et non sur name :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (($_FILES['photo']['name'] <> "avatar.png") && (filesize($_FILES['photo']['tmp_name']) < $_POST['max_file_size'])) {

  5. #5
    Membre confirmé
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Guinée

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 112
    Par défaut
    Ouf oh la la il me fallait juste remplacé name par tmp_name et pourtant c'est tmp_name qui était la ba mais bon on va voir la suite!
    Maintenant toutes mes conditions ne sont pas vérifier par ce que si la taille de l'image dépasse 50kb le deuxième test ne s'éffectue pas c'est toujours: verification reussie taille de l image <50000 qui s'affiche (le premier test).
    Normalement si la taille de l'image dépasse 50kb voilà le message qui doit s'afficher: Taille de l Image trop grande > 50kb
    et voici la suite du 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
    <?php
    session_start();
    // On vérifie que le login et le mot de passe ont été précisés 
    if(array_key_exists('pseudo', $_SESSION)) {
    	// Connexion à la base 
    	$connexion=mysql_connect("localhost", "root", "" )or die("cannot connect" );
    	mysql_select_db("basedugenie" )or die("cannot select DB" );
    	mysql_query("SET NAMES 'utf8'" );
    	$pseudo=$_SESSION['pseudo'];
    	$photo=$_FILES['photo']['name'];
    	$max=$_POST['max_file_size'];
    	if(($_FILES['photo']['name']<>"avatar.png")&&(filesize($_FILES['photo']['tmp_name']) < $max)){
    		echo'verification reussie taille de l image <'.$max;
    }
    elseif(($_FILES['photo']['name']<>"avatar.png")&&(filesize($_FILES['photo']['tmp_name']) > $max)){
    		echo'Taille de l Image trop grande > '.$max;
    }
    else{
    		$photo="avatar.png";	 
    	}
    }
    else{
    		header('Location:http://www.lesitedugenie.com/Connexion/');
    	}
     
    ?>

  6. #6
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Vide le cache de ton navigateur ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/06/2013, 03h09
  2. envoyer une image via un formulaire vers son mail
    Par cdevl32 dans le forum Langage
    Réponses: 2
    Dernier message: 02/09/2007, 20h52
  3. Réponses: 4
    Dernier message: 24/07/2007, 12h05
  4. [MySQL] problème d'enregistrement dans une db via un formulaire
    Par momoh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/04/2007, 09h56
  5. scanner une image via un formulaire
    Par pat04 dans le forum IHM
    Réponses: 1
    Dernier message: 05/02/2007, 08h45

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