我创建了一个表单,可以将文件上传到我的"上传"文件夹,它保存到文件夹但我的sql表显示字段中的错误目录。 SQL应该是uploads / filename.pdf而不是filename.pdf。我的上传脚本是:
<?php
require_once ('db.php');
if (isset($_POST['Submit'])) {
move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/" . $_FILES["file"]["name"]);
$xfile=$_FILES["file"]["name"];
$xdate=$_POST['date'];
$xmemo=$_POST['memo'];
$xtitle=$_POST['title'];
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO memo (date, memo, file, title)
VALUES ('$xdate', '$xmemo', '$xfile', '$xtitle')";
$conn->exec($sql);
echo "<script>alert('Successfully Added!!!'); window.location='view.php'</script>";
// }
}
// }
?>
答案 0 :(得分:0)
检查以下一行:
$xfile=$_FILES["file"]["name"];
此处$xfile
仅包含文件名而不包含文件名+文件路径,然后通过使用它可以获得文件名+文件路径。为此,请在插入时附加带有文件名的路径,如:
"INSERT INTO memo (date, memo, file, title)
VALUES ('$xdate', '$xmemo', 'uploads/' . '$xfile', '$xtitle')";
或将路径+文件名存储在变量中并使用该变量。
答案 1 :(得分:0)
$xfile=$_FILES["file"]["name"];
$ _ FILES [&#34; file&#34;] [&#34; name&#34;]只会返回文件名。
你可以这样做来存储文件夹名称,
$xfile= 'uploads/'. $_FILES["file"]["name"];
建议
无需在数据库中存储文件夹名称,只需存储文件名。当您检索文件追加文件夹名称时。例如:
<img src="uploads/"<?= $file ?>>
$file
是来自数据库的文件名。