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

标签 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>";
// }
}
// }
?>

最佳答案

检查以下行:

$xfile=$_FILES["file"]["name"];

这里$xfile只包含文件名而不是文件名+文件路径,那么你怎么能期望使用它就可以得到文件名+文件路径。为此,在插入时附加带有文件名的路径,例如:

"INSERT INTO memo (date, memo, file, title)
VALUES ('$xdate', '$xmemo', 'uploads/' . '$xfile', '$xtitle')";

或将路径+文件名存储在变量中并使用该变量。

关于php - 上传的文件转到上传文件夹,但 sql 中的目录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44038965/

相关文章:

file - 如何在 Flask Web Framework 中重命名上传的文件

node.js - 如何限制文件上传大小以防止XSS攻击占用服务器空间

php - 未知的 MySQL 插入错误

php - php JSON解析问题

mysql - 如何正确发出带有条件的 UPDATE 列的 SQL 请求?

mysql - 查询效率 - 计数

php - 使用 fwrite 将文件保存到新目录

php - CakePHP 3 下的摘要认证

mysql - 循环访问模型中的表列值

python - 上传文件时错误请求(400),Flask