如何在 HTTP POST 请求中传递图像并插入到数据库表中

2024-02-26

我需要检索表单值insert.php文件以便将它们存储在数据库中。然而,表单中的元素之一是文件选择器对话框,用于上传 JPG 或其他文件格式的图像文件。

我在网上找到了这段代码,可以通过发布请求发送图像,但无法使其正常工作

$pic=($_FILES['photo'][image']); 

它只显示文件名,而不显示实际文件本身


首先您需要添加enctype属性到您的 HTML 表单。像这样:

<form action="page.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
    <input type="file" name="photo" id="photo" />
    <input type="submit" value="Upload" />
</form>

接下来,当这将在下一页上发送时,请使用$_FILES全局数组而不是$_POST数组来检索图像。

<?php
    move_uploaded_file( $_FILES['photo']['tmp_name'], "/var/www/image.jpg" );
    echo("<img src='image.jpg'");
?>

所有文本数据将使用发送$_POST但文件将使用传输$_FILES.

Edit:如果您还想将上传的数据插入到表中(尽管从不推荐这样做,并且会造成巨大的性能损失)

$image = file_get_contents( "/var/www/image.jpg" );
$image = addslashes( $image );
...
$sql = "INSERT INTO pictures(image) VALUES('" . $image . "')";
//remaining MySQL and PHP code

Note:这里我正在考虑/var/www作为我的网络文件夹,配置为默认本地主机在 Linux 机器上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 HTTP POST 请求中传递图像并插入到数据库表中 的相关文章