Image Name -6ren">
gpt4 book ai didi

mysql - 如何使用 PHP 在 mySQL 中存储表单中预加载的图像

转载 作者:行者123 更新时间:2023-11-29 13:57:04 25 4
gpt4 key购买 nike

我需要存储一个以表单形式预加载到 MySQL 数据库中的 blob 文件中的图像。

这是表单代码:

<form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Image Name</td>
<td><input type="text" name="imgName" id="imgName" /></td>
</tr>
<tr>
<td>Image</td>
<td><input type="image" name="myImg" id="myImg" src="images/1209894_11404408.jpg" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center" valign="middle"><input type="submit" name="Submit" id="Submit" value="Submit" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>

这是表结构创建语句。我正在使用 InnoDB:

CREATE TABLE IF NOT EXISTS `img` (
`img_id` int(11) NOT NULL AUTO_INCREMENT,
`img_name` varchar(200) DEFAULT NULL,
`img_img` longblob,
PRIMARY KEY (`img_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我使用的插入查询是:

INSERT INTO img (img_name, img_img) VALUES ('$_POST['imgName']', '$_POST['myImg']')

TIA

杨瑜

最佳答案

首先,您需要设置 html 表单以支持文件上传,允许这样做的正确表单标记是:

<form enctype="multipart/form-data" id="form1" name="form1" action="<?php echo $editFormAction; ?>" method="post">

处理上传表单的 PHP 脚本将类似于:

if (isset($_FILES['myImg']) && $_FILES['myImg']['size'] > 0) {
$tmpName = $_FILES['myImg']['tmp_name'];
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);

//Fill all the other form vars

$query = "INSERT INTO img ";
$query .= "(img_img) VALUES ('$data')";
$results = mysql_query($query, $link);
}

当然你需要先打开MySQL连接,完成后关闭它。

希望有帮助。

亲切的问候

关于mysql - 如何使用 PHP 在 mySQL 中存储表单中预加载的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15683372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com