php mysql将图像上载到数据库
在线找到了几个关于如何以二进制格式将图像上载到mysql数据库表的示例 不是服务器中的链接或文件夹 当我试图打印图像时,图像不可见 当我检查数据库表时,它以奇怪的格式显示了一堆数据,我假设是图像数据 这是代码php mysql将图像上载到数据库,php,mysql,image-uploading,Php,Mysql,Image Uploading,在线找到了几个关于如何以二进制格式将图像上载到mysql数据库表的示例 不是服务器中的链接或文件夹 当我试图打印图像时,图像不可见 当我检查数据库表时,它以奇怪的格式显示了一堆数据,我假设是图像数据 这是代码 if(!empty($_FILES['image']) && $_FILES['image']['size'] > 0 && !empty($_POST['name'])) { // Temporary file name stored on
if(!empty($_FILES['image']) && $_FILES['image']['size'] > 0 && !empty($_POST['name']))
{
// Temporary file name stored on the server
$tmpName = $_FILES['image']['tmp_name'];
// Read the file
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);
显示图像的代码
$sql = "SELECT * FROM `photos` WHERE userName = '$currentUser'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
$content = $row['image'];
echo $content;
echo '<p id="caption">'.$row['caption'].' </p>';
}
$sql=“从'photos'中选择*,其中用户名='currentUser';
$result=mysqli\u查询($con,$sql);
while($row=mysqli\u fetch\u数组($result))
{
$content=$row['image'];
echo$内容;
回显“”.$row['caption']”。
;
}
当我试图显示图像时,我没有得到任何输出,我通过putty检查数据库,我看到大量奇怪的字符,我假设图像的项目
想法?您最终可以尝试替换这两行:
$content=$row['image'];
echo$内容代码>
与:
echo'代码>addslashes
已经不是那么好了。MySQLi支持参数化查询-使用它们。此外,你不能只将图像的字节输出到HTML页面,然后期望它显示为图像。是的,将图像存储在文件系统中,将图像的路径存储在数据库的varchar中。你不能只将原始图像内容回显到HTML。阅读以下内容:Dragos我阅读了那篇文章,它的工作效果更好,显示了一个小正方形,然而,仍然没有图像。它只适用于jpeg吗?我该怎么做才能看到不止一种类型的图像?Dragos我读了那篇文章,它的效果更好,显示了一个小正方形,但是仍然没有图像。它只适用于jpeg吗?我该如何做才能看到超过一种类型的图像