PHP - 图像输出:奇怪的字符串

时间:2014-03-03 17:24:48

标签: php html mysql sql mysqldump

我必须输出以前保存在数据库中的一系列随机图像。 在输出的那一刻,而不是打印图片,代码打印一个奇怪的字符串(meaby dumpfile?):

(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢¢’ú~ü±®æIüa¤Äû[SÓÕºàܦ'$·›ØÒ¢°o>)xvÀŸ7ZÓדþULünð®ì.±„ðFíŸÉj=¬íìæöLꨮ6ã㦇êW8b³|Ä⪟ÚL-…Óu¦ÇRmÕ@ÿǪ^"’ûH¯cQô;Ê+ÏeøýC£Ý:ó÷çHÏåTnh[­¿»ÐãRz/Ïýò¦£ë”—_ÌW©Øõ +Écý µIæùltuà¯Údfúgg_´­ÿh1ÿMÓ?O&à¹ü™ùÒXÊ/¯æSÂÔ]H¢¼õi £mœÝ[°ë¹Pãòlþ•¥iñïÂwmµudVÎèd~;qúÖ‘ÄR{IèT_e…‹iñ#Ã÷»|½kKfnŠnQXþ浭ŒFßµ¦´ÖëöÏôpND;W?ÝL…V9à'5ÏSK–GE<,çhŸNîWϺoÇu·\ëW–¹É˜Í ¯ÕÖRºgß½^“Äñ_D¬ºÕ×™ÈÿM‘”þ$°üy¬þ¹…}R]Ot¨n5;{?õ×Åþû…þuóî¦öîònû»,ñ³Ãþ†¨ËtÖŸô    €ò“üÿLGþ5/ýÒヿSè¼s¢Û¶×Ö4µoF»ŒZ‚‰:°ùµK^ÿp—þUàªI(eä{z ³œÁyú`U9V5>c¤…T‚7ØÉz®EGץصƒ]Yï|n𼃪+Ù ‘赿41þ«í·î@WÿBÅxŒ­ªmÿH½ó±)_ å³O·˜Jî±ÚÝ6:eb…‰õû£ô¨xéô±_S‡™ì§ãréÚ§# 7’3ÿ‘*´¿­óˆ´é™²Ïqÿ"kËžÂiUzÛ«­rƒóÀþ•Nh$óTIçÎPmn§Àú€ê?J—Œ¨RÂÀõi~:ÜÿË=Y¼oT5Vããn´Ì='O…›§uŸýšòñ£GqüVJ­ü|Óϳ1Ç¥8h&7GjÁ;maíÇ9ÅfñU{”°Ô»_yè—µhŸC·œ€ÿÌ·ôª³üsÔ¤ÿW¨i¬Ýˆ+üëˆ&ÞÏ8¸’>p°R3þî)ñ[­óñ%ño{–eÿЇYªú—õzk¡ÖIñ{W½UªH¥€ÿWj}ú*§7Å@îó5«ÍÃÑZ1ü¿•ssè6¨Û¦U™¾ñÖ }2ÇóÅ8-¸m¶²dÿN¨ÓŒÔ:•V5NšÙÒüGšBÊ××ó?ç´Ÿ úV|þ&þЙn$QÔõÇJlSB]•¡‡o\;·õëS‰]¢†=¸àˆœ¨={ŸåëÞ£ß{²’ŠÙ÷¬Ï»ì3Éè¼ûöÜjIDiá¤Ä«Û|hÌ?J-æ˜Ûå)çæ…rãüõ©Ròt’B­œÿ¬‰8úýj,Ê¿b8šêÕwCco©þ€h¼Ôµgý\kï'ò;³ú~U$º

我的代码:

<?php
 include_once('conn.php');


 $n="SELECT COUNT('id_product')
 FROM 'products'";
 $value=mysql_query($n);

 do
 {
 $selectionASC='SELECT id_product 
        FROM products 
        ORDER BY id_product ASC
        LIMIT 1';
 $selectionDESC='SELECT id_product 
         FROM products 
         ORDER BY id_product DESC
         LIMIT 1';
  $ASC=mysql_query($selectionASC)
    or die ('Impossible execute the query <br />').mysql_error();
  $DESC=mysql_query($selectionDESC)
    or die ('Impossible execute the query <br />').mysql_error();

  //____________________________________________________________________
  $ASC = mysql_num_rows($ASC);
  $DESC = mysql_num_rows($DESC);

  $rand_n=rand(($ASC-1),($DESC+1));

  //____________________________________________________________________
  $selected='SELECT id_product,name, price, img
         FROM products
         WHERE id_product='.$rand_n;
  $selected = mysql_query($selected);
  //____________________________________________________________________

    while($row=mysql_fetch_row($selected))
        {
            echo "Product'id: &nbsp"; echo $row[0];
            echo '<br />';
            echo "Name: &nbsp"; echo $row[1];
            echo '<br />';
            echo "Price:: &nbsp"; echo $row[2];
            echo '<br />';
            echo "Immage: <img src='images/".$row['3']."'alt='Image'>";
            echo '<hr> <br />';

            $value--;
        }
      }
       while ($value==0)
      ?>

输出的其余部分与代码一致。谁知道为什么会这样?以及如何解决它?谢谢!

1 个答案:

答案 0 :(得分:0)

你不能像你所做的那样输出图像,首先是

从db获取图像时。

例如,如果我的图像存储在img字段中,我会像这样称呼它

$id=$_GET['id'];
$query = mysql_query("select * from img where img id=$id ");
$row = mysql_fetch_array($query);

$img = $row['img'];

header("Content-type: image/jpeg");
print $img;

所以此页面仅用于显示图片,当您想要使用它时,您可以

<img src="display_img.php?id=2" />

不可能将所有内容保存在一个页面中,但您也可以像这样划分页面

if($$_GET['action']=="display_img"){


// show img code 

}