mais il ne s'appelle pas 1.
mais /1.'.$extension
regarde bien
mais il ne s'appelle pas 1.
mais /1.'.$extension
regarde bien
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é"?
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.'; } } ?>
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager