J'essaye de télécharger un chemin de fichier dans la base de données MySQL. Je ce formulaire html:impossible de télécharger un fichier via la base de données
<form action="" method="post" name="add_maps" enctype="multipart/form-data">
<table border="1" cellpadding="2" cellspacing="1" align="center" dir="rtl">
<tr>
<th>
name of map</th>
<td>
<input type="text" name="name_of_map"/>
</td>
<th>
select map</th>
<td>
<input type="file" name="file" id="file"/>
</td>
</tr>
<tr>
<input type="submit" name="submit_map" value="upload"/>
</tr>
</table>
</form>
Et dans la même page, j'ai le code PHP pour télécharger:
<?php
require_once('../include/inner_global.php');
$hostdb = "localhost";
$namedb = "architect";
$userdb = "root";
$passdb = "root";
$id = $_REQUEST['id'];
$name='';
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("SET CHARACTER SET utf8mb4");
$path = "../uploads/".$_FILES['file']['name'];
if(isset($_POST['submit_map'])){
try{
$name = isset($_POST['name']) ? $_POST['name'] : '';
$ext = pathinfo($path, PATHINFO_EXTENSION);
if(move_uploaded_file($_FILES["file"]["tmp_name"], $path)){
$path = "./uploads/".$path;
$sql = "INSERT INTO maps(name_of_maps, projects_id, map) VALUES (:name, :id, :file)";
$stmt = $conn->prepare($sql);
$stmt->bindValue(":name", $name);
$stmt->bindValue(":id", $id);
$stmt->bindValue(":file", $path);
$count = $stmt->execute();
}
}
catch(PDOException $e) {
echo $e->getMessage();
header("location: insert_map_false.php?id=".$id);
}
}
?>
Quand je vais à la page où ce formulaire html est, je reçois directement cette erreur dans l'en-tête:
PS
Les fichiers sont téléchargés correctement sur leur chemin, lorsque je clique sur le téléchargement, mais pas ajouté à la base de données. EDIT
Ceci est ma table
types de données
Quel est votre type de base de données de ce champ? – uruloke
montrez-nous le code de la page complète parce que si vous obtenez une erreur sur la page où le formulaire html est, il doit y avoir un problème sur cette page (même avant de télécharger) –
essayez de faire var_dump ($ _FICHES) dans try block pour voir si votre le fichier est en cours de téléchargement. –