【发布时间】:2014-01-08 09:22:07
【问题描述】:
我正在从事基于内容的图像检索 php 项目。用户应上传图像以检索与其相似的图像。我需要显示查询图像而不将其保存在数据库中。我尝试了两种不同的方法来做到这一点,但没有奏效。图像显示为图像图标。
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, $fileSize);
$content = addslashes($content);
我试过了:
echo '<img src="data:image/jpeg;base64,' . base64_encode( $content ) . '" height=200 width=200 />';
还有这个:
header("content-type: image/jpeg");
echo $content;
【问题讨论】:
-
$row['image']是什么?如果图像不在数据库中,您如何保存图像?这里没有足够的上下文来回答这个问题。 -
对不起,我从不同的代码中复制了这个没有改变我会改变它
-
感谢您更新代码,但这并没有太大帮助 -
$fp是什么?您是否正在将图像文件的内容读入$content?在这种情况下,您几乎可以肯定不需要调用addslashes()。 -
$fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fp = fopen($tmpName, 'r');
-
是的,你的第二个例子应该可以工作,我想,如果你只是回显
$content没有addslashes()。