【问题标题】:how to display uploaded image on a website without saving it in a database using php如何在网站上显示上传的图像而不使用 php 将其保存在数据库中
【发布时间】: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()

标签: php database image


【解决方案1】:

看看this jquery plugin。请参阅文档部分,这是一个 PHP 实现示例。基本上,插件上传图像,暂时保存在服务器文件系统上,然后发回客户端进行渲染。一旦它在您的文件系统上,您就可以对它做任何您想做的事情(例如进行查询,删除它)。我认为这是一个很好的方法,它是给我的!! 希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-07-30
    • 2013-04-23
    • 2011-08-07
    • 1970-01-01
    • 2020-05-13
    • 2015-10-26
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多