dtx9763 2014-12-26 09:11 采纳率: 100%
浏览 60
已采纳

使用PHP显示存储在服务器上的目录中的图像

I have an image stored in a directory on my server. Want to use PHP code to display it on the browser; something is wrong with my code. Please help.

<?php
$image = fopen('upload/foto4.JPG', 'r');
$Data = fread($image,filesize('$image'));
fclose($image);
echo"<div style='width:15%;height:10%;position:relative;top:22%;left:20%'/>".$Data."</div>";
?>
  • 写回答

3条回答 默认 最新

  • duanpiangeng8958 2014-12-26 09:19
    关注

    fread will not add the code to display the picture, it only shows the data that is in the file... What you want to do is display a page with an img tag, and its source pointing to your image file, or serve it using php:

    echo"<div style='width: 15%; height:10%; position:relative; top:22%; left:20%'/><img src='uploads/foto4.JPG'/></div>";
    // Or
    echo"<div style='width: 15%; height:10%; position:relative; top:22%; left:20%'/><img src='uploads.php?f=foto4.JPG'/></div>";
    

    If you use the second solution, see it points to a php file... All your uploads would be handled by your PHP that way if you want to control access or other stuff...

    //uploads.php
    header('Content-Type: image/jpeg'); // We are serving a jpeg. 
    readfile('uploads/'.$_GET['f']);
    

    EDIT: Finally, one could use the data URI scheme to show the picture inline, this method would fit perfectly for your code snippet but might not be required as not all browsers support it (but all majors do). Read more at http://www.websiteoptimization.com/speed/tweak/inline-images/

    <?php
    $image = fopen('upload/foto4.JPG', 'rb');
    $Data = fread($image,filesize('$image'));
    fclose($image);
    echo'<div style="width:15%;height:10%;position:relative;top:22%;left:20%"/><img src="data:image/jpeg;base64,'.base64_encode($Data).'"/></div>';
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 MATLAB四叉树处理长方形tif文件
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 使用Java milo连接Kepserver服务端报错?
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了