我正在尝试创建一个上传图片并显示图片的数据库,类似于图库。它上传它们,但问题是图片应该是它给我这个奇怪的符号(抱歉不能发布它,因为我是新的:|)我不知道这是否意味着它只是拒绝显示它们,或者有些不对劲。帮助
<?php
mysql_connect("localhost") or die(mysql_error());
mysql_select_db("images") or die(mysql_error());
$id=addslashes($_REQUEST['id']);
$image=mysql_query("SELECT * FROM dadsda WHERE id=$id");
$image=mysql_fetch_assoc($image);
$image=$image['image'];
header("Content-type: image/jpeg");
print($image);
?>
答案 0 :(得分:3)
该代码绝不是实际输出的图像。
如果image
是数据库中的BLOB
字段,则需要在print $image;
调用后执行header()
。如果是文件名/路径,则需要使用readfile()
输出该文件的内容。
此外,此代码易受SQL注入攻击。如果我转到script.php?id=1%3B+DROP+TABLE+dadsda%3B
,它将删除您的数据库表,因为我只是让您的代码执行SQL查询SELECT * FROM dadsda WHERE id=1; DROP TABLE dadsa;
。
答案 1 :(得分:-2)
有时如果图像框为空,我的jpeg没有在服务器端的mime类型中定义..只需右键单击空图像框并给我属性... 问候..