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

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

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

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

  1. <?php
  2. require __DIR__ . '/database.php';
  3. $file = $_GET["item"];
  4. $itemName = $_GET["itemName"];
  5. $uploadDate = filectime($file);
  6. $filePathArray = pathinfo($file);
  7. $filePath = $filePathArray["filename"];
  8. $stmt = db()->prepare("INSERT INTO items (id, itemName, uploadDate, filePath) VALUES ('','{$itemName}','{$uploadDate}','{$filePath}");
  9. $stmt->execute();
  10. ?>

html代码:

  1. <form action="upload_action.php">
  2. Item Name:<br>
  3. <input type="text" name="itemName"><br>
  4. File:<br>
  5. <input type="file" name="item"><br>
  6. <input type="submit" name="submit">
  7. </form>

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

f2uvfpb9

f2uvfpb91#

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

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

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

  1. <?php
  2. print_r($_POST);
  3. print_r($_FILES);
  4. $file = $_FILES["item"];
  5. $itemName = $_POST["itemName"];
  6. $uploadDate = filectime($file['tmp_name']);
  7. $filePathArray = pathinfo($file['tmp_name']);
  8. $filePath = $filePathArray["filename"];
  9. print_r($uploadDate);
  10. print_r($filePathArray);
  11. ?>

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

展开查看全部

相关问题