上传的文件转到上传文件夹但sql中的目录错误

时间:2017-05-18 05:04:52

标签: php mysql file-upload

我创建了一个表单,可以将文件上传到我的"上传"文件夹,它保存到文件夹但我的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>";
// }
}
// }
?>

2 个答案:

答案 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是来自数据库的文件名。