php文件没有上传到数据库

vc6uscn9  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(468)

这个问题在这里已经有答案了

使用php的“notice:未定义变量”、“notice:未定义索引”和“notice:未定义偏移量”(28个答案)
我的pdo声明不起作用(1个答案)
两年前关门了。
由于某些原因,我的文件没有上传到我的数据库。我有我的文件上传在我的php.ini文件打开,并尝试上传文件小于2 mb,但没有运气到目前为止。我对编程很陌生,所以请容忍我。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Upload PDF & Word files to Database</title>
</head>
<body>
<?php
$dbh = new PDO("mysql:host=localhost;dbname=database", "user", "root");
if (isset($_FILES['myfile'])) {
    $name = $_FILES['myfile']['name'];
    $mime = $_FILES['myfile']['type'];
    $data = file_get_contents($_FILES['myfile']['tmp_name']);
    $stmt = $dbh->prepare("INSERT INTO myblob VALUES('',?,?,?)");
    $stmt->bindParam(1, $name);
    $stmt->bindParam(2, $mime);
    $stmt->bindParam(3, $data, PDO::PARAM_LOB);
    $stmt->execute();

}
?>
<form method="post" enctype="multipart/form-data">
   <input type="file" name="myfile"/>
   <input name="btn" type="hidden" value="Value">
   <input type="submit" value="Upload">
</form>

</body>
</html>

kmynzznz

kmynzznz1#

这是因为

if (isset($_POST['btn'])) {

永远不会发生。按钮不发布值
替换为

if (isset($_FILES['myfile'])) {

或者将提交替换为

<input name="btn" type="hidden" value="somevalue">
<input type="submit" value="Upload">

后者将保持php的原样,但会发布一个带有名称的值 btn

相关问题