Bonjour,
Dans un espace membre, j'ai mis un upload de photo qui permet d'ajouter ou de remplacer les photos. J'arrive bien à ajouter une photo à un enregistrement de ma base de données et le ficher est uploadé (avec move uploadedd file)sur le serveur mais je n'arrive pas à trouver la fonction qui permet d'effacer la photo dans mon répertoire sur le ftp.
Voici mon code du formulaire d'ajout:
et voici la page qui traite l'upload et l'insertion dans ma base de données:
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 session_start(); /* si la variable de session login n'existe pas cela siginifie que le visiteur n'a pas de session ouverte, il n'est donc pas logué ni autorisé à acceder à l'espace membres */ if(!isset($_SESSION['login'])) { echo '<table><tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td align=center width=650 class=texte_formulaire>Vous n\'êtes pas autorisé à acceder à cette zone</td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr></table>'; header('login.htm'); exit; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <body> <table width="550" border="0" > <?php //connection au serveur: $db = mysql_connect ('', '', ''); //sélection de la base de données: mysql_select_db("",$db) ; //récupération de la variable d'URL, //qui va nous permettre de savoir quel enregistrement modifier $id = $_POST["select_annonce"] ; //requête SQL: $sql = "SELECT * FROM gites WHERE id =$id"; //exécution de la requête: $requete = mysql_query( $sql, $db ) or die( mysql_error()); //affichage des données: if( $result = mysql_fetch_object( $requete ) ) { ?> <table> <form action="modifier_image1.php" method="POST" enctype="multipart/form-data" name="formulaire1"> <tr> <td> <input type="hidden" name="id" value="<?php echo($result->id) ;?>"> <input type="hidden" name="nomP" value="<?php echo($result->nomProprio) ;?>"> <?php echo($result->nomProprio) ;?> <input type="hidden" size="80"name="photo_annonce1" value="<?php echo($result->photo_annonce1) ;?>"> <img width="128" height="96" src="/test_photo/<?php echo($result->photo_annonce1) ;?>"></td> <td><input type="file" name="fichier1" size="30"></td> <td><input type="submit" value="Changer"></td> </tr> </form> </table> <table> <?php }//fin if ?></td></tr> </table> </div> </div> </body> </html>
Une autre petite question si je peux me permettre, comment afficher la nouvelle photo uploadé sur la page du formulaire? je sais pas si c'est une fonction javascript.
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 <? $id = $_POST["id"] ; session_start(); if(!isset($_SESSION['login'])) { session_destroy(); echo '<table><tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td width=650 class=texte_formulaire> </td></tr>'; echo '<tr><td align=center width=650 class=texte_formulaire>Vous n\'êtes pas autorisé à acceder à cette zone</td></tr></table>'; header("Location: login.htm"); exit; } ?> <?php $cnx = mysql_connect ('', '', ''); $db = mysql_select_db( '' ) ; $fich1 = $_POST["fichier1"] ; $tmp_file1 = $_FILES['fichier1']['tmp_name']; is_uploaded_file(($_FILES['fichier1']['tmp_name'])); $type_file = $_FILES['fichier1']['type']; if ( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'gif') ) { exit("Le fichier n'est pas une image"); } $name_file1 = $_FILES['fichier1']['name']; $name1 = $name_file1 ; $name1 = preg_replace('/[\xe8-\xeb]/', 'e', $name1); $accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"; $ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"; $name1 = strtr($name1,$accents,$ssaccents); $in = array('/', ' ', '?', '!', ',', ':', "'", '&', '(', ')', '---'); $out = array('-', '-', '', '', '', '', '-', 'et', '', '', '-'); $name1 = str_replace($in, $out, $name1); $name11 = strtolower($name1) ; $name_file1 = $name11; move_uploaded_file($tmp_file1, '../test_photo/'.$name_file1); $photo_annonce1 = $name_file1; //création de la requête SQL: $sql ="UPDATE gites SET photo_annonce1='$photo_annonce1' WHERE id ='$id'"; //exécution de la requête SQL: echo "Le fichier a bien été uploadé"; $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ; ?>
Je vous remercie beaucoup pour votre aide
nico
Partager