【问题标题】:Store image path to MySQL database after upload using HTML5, JS, PHP使用 HTML5、JS、PHP 上传后将图像路径存储到 MySQL 数据库
【发布时间】:2014-01-20 08:00:24
【问题描述】:

我在这里设置了html和javascript:

http://jsbin.com/aNiTixA/1/edit?html,css,output

这是我的 php 代码:

<?php
$con=mysqli_connect("localhost","up637415_cms","up637415_cms","up637415_cms");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO products (prod_title, prod_category, prod_quantity, prod_description, prod_img)
VALUES
('$_POST[prod_title]','$_POST[prod_category]','$_POST[prod_quantity]','$_POST[prod_description]','$_POST[file1]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
?> 

我要做的是将最近上传的图像的路径存储在MYSQL数据库中名为'prod_img'的列中,以便它可以显示在网站的前端。我不知道如何在上传后从图像中获取路径,并在按下提交按钮时将其发布到数据库。

【问题讨论】:

  • #1 - FILE 是通过 $_FILES[] 而不是 $_POST 访问的,#2,该文件必须是 moved somewhere 否则该位置将是一个临时位置并且不能保证存在永远,#3 - 感谢您使用 MySQLI。
  • 您的 file_upload_parser.php 存储图像的位置在哪里?此外,如果上传文件夹位置已知,您可以只将图像名称存储在数据库中...

标签: javascript php mysql ajax html


【解决方案1】:

您需要自己处理文件上传并将文件移动到您想要的位置。 通过这样做,您也将拥有文件路径(因为您生成它)。

您可以在$_FILES['yourfieldname']['tmp_name']中找到上传文件的位置。但由于这是一条临时路径,您需要使用move_uploaded_file($src, $dst); 移动它。

完整示例请参见 PHP 文档:

此外,您应该阅读有关 MySQL 注入的信息,因为您的代码非常不安全,因此很危险,如果您在公共场合运行它。

【讨论】:

    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 2012-07-26
    • 2019-01-16
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多