由于某些原因,我的文件未上传到我的数据库。我已在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>
答案 0 :(得分:-1)
这是因为
if (isset($_POST['btn'])) {
将永远不会发生。 按钮不发布值
替换为
if (isset($_FILES['myfile'])) {
或将提交替换为
<input name="btn" type="hidden" value="somevalue">
<input type="submit" value="Upload">
稍后将使您的php保持原样,但发布一个名称为btn
的值