在mysql数据库中保存图像/文件信息

umuewwlo  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(330)

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

文件未上传php(9个答案)
四年前关门了。
我写这段代码是为了上传mysql数据库中的文件信息:

<?php
require __DIR__ . '/database.php'; 

$file = $_GET["item"];

$itemName = $_GET["itemName"];
$uploadDate = filectime($file);
$filePathArray = pathinfo($file);
$filePath = $filePathArray["filename"];

$stmt = db()->prepare("INSERT INTO items (id, itemName, uploadDate, filePath) VALUES ('','{$itemName}','{$uploadDate}','{$filePath}"); 
$stmt->execute();  
?>

html代码:

<form action="upload_action.php">
  Item Name:<br>
  <input type="text" name="itemName"><br>
   File:<br>
  <input type="file" name="item"><br>
  <input type="submit" name="submit">
</form>

但我总是得到“filectime():stat failed”和致命错误。。我不知道为什么。你能帮我修改一下密码吗?我很乐意

f2uvfpb9

f2uvfpb91#

必须将enctype属性添加到窗体中:

<form method="post" action="upload_action.php" enctype="multipart/form-data"> 
  Item Name:<br>
  <input type="text" name="itemName"><br>
   File:<br>
  <input type="file" name="item"><br>
  <input type="submit" name="submit">
</form>

然后您上传的文件将在全局变量“$\u files”中

<?php
print_r($_POST);
print_r($_FILES);

$file = $_FILES["item"];

$itemName = $_POST["itemName"];
$uploadDate = filectime($file['tmp_name']);
$filePathArray = pathinfo($file['tmp_name']);
$filePath = $filePathArray["filename"];

print_r($uploadDate);
print_r($filePathArray);
?>

但是在数据库中保存路径之前,您应该使用move\ u uploaded\ u file移动上传的文件

相关问题