通过本地路径显示图像 - 文件:\\\ c:\使用PHP

时间:2010-09-08 20:04:03

标签: php

我想使用c:/user_name/image/image_name.jpg通过http://intranet/user/index.php加载图片。

<img src="file:///c:/user_name/image/image_name.jpg">

如何显示它们?

由于 让

2 个答案:

答案 0 :(得分:5)

您是否意识到只有当该图像位于将要查看此页面的每台计算机上的完全相同的位置时,这才会起作用?有没有理由通过网络服务器本身无法正常提供图像?

由于你使用的是绝对的Windows路径,这只适用于Windows机器,它们实际上有一个C驱动器,相同的目录等等......它在Mac或Linux上根本无法工作其他方框,因为他们不打扰驱动器字母。

随访:

在稍微思考一下你的问题后,看起来你想要提供一个未存储在你的文档根目录中并从特定页面提供的特定图像。如果你在index.php的开头加上这样的东西:

<?php
    if (isset($_GET['username']) && isset($_GET['image'])) {
       $user = $_GET['username'];
       $image = $_GET['image'];

       $path = "C:\\{$user}\\image\\{$image}";
       if (is_readable($path)) {
           $info = getimagesize($path);
           if ($info !== FALSE) {
               header("Content-type: {$info['mime']}");
               readfile($path);
               exit();
           }
       }
    }
?>

并在HTML中:

<img src="index.php?user=user_name&image=image_name" />

当然,这是非常基本的,以这种方式提供文件是非常不安全的,但很可能这是你想要的基础知识。

答案 1 :(得分:1)

<?php
   $path = "C:\\xampp\\htdocs\\Create.jpg";       
   if (is_readable($path)) 
   {
       $info = getimagesize($path);
       if ($info !== FALSE) 
       {
           header("Content-type: {$info['mime']}");
           readfile($path);
           echo '<img src="data:image/jpeg;base64,'. base64_encode($path) .'" height="100" width="100"/>';    
       }       
  }     

&GT;