bonjour à tous,
j'ai 2 petits soucis, commençons d'abord par celui qui m'ennuie le plus ^^
j'ai fait un ajout du nom de mon image dans ma BDD (cela fonctionne très bien)
(le second problème=>l'image ne s'enregistre pas dans le fichier upload :/)
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 session_start(); include "../bdd/bdd_biBelgium.php"; include "../Validation/vendor/autoload.php"; use Respect\Validation\Validator as v; $membreidentifiant1 = $_SESSION['data']['membreIdentifiant']; $message1= "fichier non uploadé"; $message2 = "veuillez choisir une image"; $message3="Fichier enregistré, vous allez être redirigé..."; $message4="Fichier enregistré dans dossier, vous allez être redirigé..."; $nom=$_FILES["photo"]["name"]; if (isset($_POST)) { if ($nom == '') { echo $message2; } else { $select_profil = $bdd->prepare("SELECT membreId FROM membre WHERE membreIdentifiant=? "); $select_profilExec = $select_profil->execute([$membreidentifiant1]); $row = $select_profil->fetch(PDO::FETCH_NUM); $objet = new stdClass(); $objet->photo = $nom; $objet->membreId = $row[0]; $valid = v::attribute('photo', v::alnum()->notEmpty()->setName('photo')); try { $debut = 'biBelgium_mod'; $dossier = 'upload'; $server = $_SERVER['DOCUMENT_ROOT']; $chemin = $server . $debut . '/' . $dossier; move_uploaded_file($_FILES["photo"]["tmp_name"], $chemin . $nom); // on envoie le fichier a l'endroit voulu }catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } try{ $insertPhoto = $bdd->prepare("INSERT INTO membrephoto (membrePhotoChemin,membreId) VALUES(?,?) "); $resultatPhoto = $insertPhoto->execute(array($objet->photo,$objet->membreId)); header('Refresh: 5; URL=../infos_biBelgium.php?page=photos '); echo $message3; } catch (\InvalidArgumentException $e) { $objet->error = $e->findMessages([ 'notEmpty' => '{{name}} veuillez remplir ce champ', 'alnum' => '{{name}} Que des chiffres et des lettres', ]); $_SESSION['error'] = $objet->error; header('Refresh: 5; URL=../infos_biBelgium.php?page=photos '); echo $message1; } } }
revenons à mon autre soucis, j'ai mit manuellement l'image correspondante dans mon dossier upload.
j'ai fait mit sur ma page le script pour la récupérer et là: image brisée, le header m'indique une erreur donc je l'ai "//" et après l'image brisée j'ai plein de caractère et chiffre
quelqu'un pourrait-il m'aider svp? merci
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 include 'bdd/bdd_biBelgium.php'; $sessionIdentifiant=$_SESSION['data']['membreIdentifiant']; $selectPhoto=$bdd->prepare("SELECT membrePhotoChemin FROM membrephoto,membre WHERE membre.membreIdentifiant=? "); $resultatSelectPhoto=$selectPhoto->execute([$sessionIdentifiant]); $row=$selectPhoto->fetch(); $image=$row[0]; ?> <div class="divPhoto"> Vos photos <div class="divPhotoAlbum"> <p>Album 1</p> <?php $ender='_'; $file = str_replace('\\','\/',dirname(__FILE__)) . '/upload/' . $image; if (file_exists($file)) { $data = file_get_contents($file); //header("Content-type: image/jpeg"); echo '<img src='.$data.'/>'; } else { echo 'Fichier "' . $file . '" introuvable!'; } ?>
Partager