我想将表单和图像中的一些信息存储到数据库中。
例如:
<form name="form1" enctype="multipart/form-data" method="post" action="do_send.php">
<label>
<input type="text" name="name" id="name" />
</label>
<label>
<input type="text" name="age" id="age" />
</label>
<label>
<input type="email" name="email" id="email" />
</label>
<label>
<input type="file" name="my_file" />
</label>
<label>
<input type="submit" name="button" value="Submit" />
</label>
</form>
我想将所有这些存储到数据库中。我可以将数据存储在数据库中,但不知道如何存储图像。请告诉我,我该怎么做?
我还想使用MySql查询在另一个页面上显示数据和图像。
我怎样才能完成这两项任务。我知识有限,因为我是首发。请引导我提供代码和一些解释。
答案 0 :(得分:0)
使用move_uploaded_file()函数
在php项目目录中创建新文件夹以存储图像。
仅存储数据库中的图像路径。
$fileName = $_FILES["uploaded_file"]["name"];
$fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"];
$pathAndName = "uploads/".$fileName;
$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
在数据库中存储$ pathAndName变量值。
“uploads”是文件夹名称。
答案 1 :(得分:0)
在do_send.php
中你可以试试这样的事情:
$image = imagecreatefromstring($my_file);
// start buffering
ob_start();
imagepng($image);
$contents = ob_get_contents();
ob_end_clean();
$str_base64_img = base64_encode($contents);
imagedestroy($image);
在我看来,将图像数据直接存储在db中并且base64_encode放大到数据的33%并不是一个好的实践。
您应该使用托管图像系统并在数据库中存储图像的路径。