gpt4 book ai didi

php - 在 PHP 中上传多个文件并将路径插入到 MySQL

转载 作者:行者123 更新时间:2023-11-29 02:58:26 26 4
gpt4 key购买 nike

我设置了一个表单来从 PHP 脚本上传多个文件,然后使用路径将其插入到数据库中。这是我的代码

<form action="" method="post" enctype="multipart/form-data">
<tr class='first'>
<td>Property Image : </td>
<td>
<input type="file" name="pic_upload[]" >
<input type="file" name="pic_upload[]" >
<input type="file" name="pic_upload[]" >
</td>
</tr>
<tr class='first'>
<td>&nbsp;</td><td><input type="submit" name="create" value="Add" /></td>
</tr>
</form>
<?php
if(isset($_POST['create'])) {
$path = "images/";
for ($i=0; $i<count($_FILES['pic_upload']['name']); $i++) {
$ext = explode('.', basename( $_FILES['pic_upload']['name'][$i]));
$path = $path . md5(uniqid()) . "." . $ext[count($ext)-1];
move_uploaded_file($_FILES['pic_upload']['tmp_name'][$i], $path);
}
$sql = "INSERT INTO post (`image`) VALUES ('$path');";
$res = mysqli_query($con,$sql) or die("<p>Query Error".mysqli_error()."</p>");
echo "<p>Post Created $date</p>";
}
?>

脚本成功运行,但在列内的数据库端看起来像这样。

图片/8de3581eb72ee7b39461df48ff16f4a3.jpg024fae942ae8c550a4bd1a9e028d4033.jpg380cc327df25bc490b83c779511c015b.jpg

请帮我解决这个问题

最佳答案

$path = "images/"; 移动到 for 循环中。否则,您将附加到文件名而不在每次迭代后重置它。实际上,您根本不需要为该前缀使用变量。您可以简单地编写 'images/' 。 md5(uniqid()) 。 “。” . $ext[count($ext)-1] 立即。

要将值写入数据库,您也可以在每次迭代中运行查询,或者将路径添加到一个数组,该数组根据 SQL 语法转换为逗号分隔的插入列表。

关于php - 在 PHP 中上传多个文件并将路径插入到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27556097/

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