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 :

effacer l'image avant d'enregistrer la nouvelle


Sujet :

Langage PHP

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    mais il ne s'appelle pas 1.
    mais /1.'.$extension
    regarde bien

  2. #22
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Bon bah alors c'est bon.

    Je t'avoue que je commence à décrocher. Il marche ton truc ou pas? Et si ça ne marche pas, qu'elle est la situation avant exécution? quel est le fichier de test pendant l'exécution qui provoque "le raté"? et enfin quelle est la situation après "le raté"?

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    et bien ca n'a pas beaucoup changé j'en suis toujours au même point c'est à dire :
    ca m'enregistre bien mon image
    mais ca ne me supprime pas l'ancienne image nommer "1."
    ce qui fait que dans mon dossier cohabite
    1.png et 1.jpeg

    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
    <?php
    // Testons si le fichier n'est pas trop gros
    if (isset($_FILES['monfichier1']) AND $_FILES['monfichier1']['error'] == 0 AND ($_FILES['monfichier1']['size'] <= 1000000))
    {
    //1) je teste le fichier charger enregistré temporairement (qui viens d'etre chargé via formulaire), si son extension ($extension_upload) est autorisée alors
    	$dossier = '../images/uploads-atelier/normal/'.$nomDossier;
     
    	if(!is_dir($dossier)) //si le dossier n'existe pas
    		mkdir ($dossier); //Tente de créer un dossier.
     
    	// Testons si l'extension est autorisée
    	$infosfichier = pathinfo($_FILES['monfichier1']['name']);
    	$extension_upload = $infosfichier['extension'];
    	$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    	if (in_array($extension_upload, $extensions_autorisees))
    	{
    //2) je teste si il y a un fichier nommé "1." existe, dans $dossier, si oui je le supprime
    		if(file_exists ( $dossier.'/1.' )) // si il existe un fichier commencant par "1."
    		{
    			$extension = pathinfo($dossier.'/1.', PATHINFO_EXTENSION);//je récupère son extention indispensable pour unlink()
    			unlink($dossier.'/1.'.$extension); // et je supprime le précèdant fichier nommé "1."
    		}
    //3) je transfere le fichier charger du dossier temporaire au definitif dans $dossier
     
    		if(move_uploaded_file($_FILES['monfichier1']['tmp_name'], $dossier.'/1.'.$extension_upload))
    		  echo '<br />L\'envoi du fichier photo1 à bien été effectué !';
    		else
    		  echo '<br />Erreur d\'enregistrement du fichier.';
    	}	
    }
    ?>

  4. #24
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Bon maintenant que j'ai ton dernier script et que j'ai pris le temps de le lire dans le détail, je comprends mieux le problème.

    Tu vérifies si "1." existe. Or dans ton dossier tu as par exemple "1.jpg". Donc forcément, il ne trouve pas de fichier et ne supprime pas.
    Il faut que tu vérifies si "1.jpg" existe pas juste "1.".

    Au passage, dans ton unlink(), c'est bien de mettre l'extension à la suite mais $extension n'est instanciée nulle part dans ton script. Une fois que tu auras réussi à rentrer dans le if(), il aurait pas réussi à le supprimer pour autant.

    N'hésite pas à utiliser xdebug pour faire du debug pas à pas de ton code, tu aurais vu de suite ces deux problèmes.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/04/2014, 20h49
  2. redimensionner image avant enregistrement
    Par nacimovitch dans le forum Langage
    Réponses: 3
    Dernier message: 13/06/2013, 16h22
  3. visualiser l'image avant de la télécharger et l'enregistrer
    Par belfafi dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/04/2012, 21h56
  4. [ImageMagick] Redimensionner une image avant de l'enregistrer
    Par julien.63 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/05/2006, 21h01
  5. effacer une image chargée ds TBitmap
    Par sony351 dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/09/2004, 10h28

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