Bonjour,
Je pense que vous me connaissiez :) , toujours avec mon projet, cette fois je veux récuperer les fichiers déja stockés dans ma base de données(les chemins de ces fichiers qui sont stockés ), alors je veux récuperer l'URL de ces fichiers afin de les ouvrir
Mon code (pour uploader et insérer les fichiers dans ma BD):
<html>
<body>
<form method="POST" action="Affiche.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset><legend>Envoi de fichiers</legend>
<input type="file" name="photo" /></p>
<p><input type="submit" name="envoi" value="Envoyer" />
</p></legend></fieldset></form>
<?php
f(isset($_FILES['photo']))
{
$dest_dossier = 'C:\wamp64\www\forum\imag';
// il est copié du temporaire vers mon répertoire//
$dest_fichier = basename($_FILES['photo']['name']);
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
}
?>
<?php
try {$conn = new PDO('mysql:host=localhost;dbname=forum','root','');

} catch(PDOException $e){
print "Erreur!: ".$e->getMessage()."<br/>";
die();
echo "problème";
}
if(isset($_FILES['photo']['name']))
{
$FILES = @$_POST['url'];
}
else
{
$_FILES="";
}
$sql = "INSERT INTO img(url, chemin_fichier) VALUES('". @$imag ."', '". $dest_dossier . $dest_fichier ."')";

$res=$conn->query($sql);

?>
</body>
</html>

Page d'affichage des liens:
<?php
try {$conn = new PDO('mysql:host=localhost;dbname=forum','root','');

} catch(PDOException $e){
print "Erreur!: ".$e->getMessage()."<br/>";
die();
echo "problème";
}
$sql2="SELECT chemin_fichier FROM img";
$res2=$conn->query($sql2);
$result= $res2->fetchAll(PDO::FETCH_ASSOC);

foreach($result as $row){
echo '<h1><td><a href=$row[chemin_fichier]>'.$row['chemin_fichier'].'</a></td></h1>';}
Merci d'avance , je sais que pose beaucoup mes problèmes ces derniers jours, mais c'est urgent.Merci

2 réponses


  • Non on ne te connait pas tous navré.
  • Ta mise en page est cassé, c'est illisible.
  • Tu n'expliques pas clairement ce qui ne fonctionne pas.

Peux-tu remédier au deux derniers points afin qu'on puisse t'aider ?

Bonjour.
Il est vrai que ton code est difficilement lisible.
Pour la partie qui à priori te poserait problème :

$sql2 = "SELECT chemin_fichier FROM img";
$res2 = $conn->query($sql2);
$result = $res2->fetchAll(PDO::FETCH_ASSOC);

foreach($result as $row) {
    echo ''.$row['chemin_fichier'].'';
}

Pourquoi est-ce que tu utilises des quotes en début et fin du echo, alors que tu n'as que du PHP que tu affiches avec ?
Ceci est largement suffisant :

foreach($result as $row) {
    echo $row['chemin_fichier'];
}

Par contre, vu la requête SQL, tu récupères tous les enregistrements de la table, je ne connais pas l'utilité de la table, mais je crains que ce ne soit pas une bonne idée de tout récupérer sans condition, ni limite.