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

通过本地路径显示图像-文件:\\\c:\使用PHP,php,Php,我想通过c:/user\u name/image/image\u name.jpg使用http://intranet/user/index.php <img src="file:///c:/user_name/image/image_name.jpg"> 如何显示它们 谢谢 Jean您是否意识到,只有当图像位于将要查看此页面的每台机器上的完全相同位置时,此操作才会起作用?是否有任何原因使您无法通过web服务器本身正常提供映像 由于您使用的是绝对Windows路径,因此这仅适用于

我想通过
c:/user\u name/image/image\u name.jpg
使用
http://intranet/user/index.php

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

如何显示它们

谢谢
Jean

您是否意识到,只有当图像位于将要查看此页面的每台机器上的完全相同位置时,此操作才会起作用?是否有任何原因使您无法通过web服务器本身正常提供映像

由于您使用的是绝对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();
           }
       }
    }
?>

您是否意识到,只有当图像位于将要查看此页面的每台机器上的完全相同位置时,此操作才会起作用?是否有任何原因使您无法通过web服务器本身正常提供映像

由于您使用的是绝对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();
           }
       }
    }
?>

只要有解决方案,我接受答案。谢谢你的否决票,我喜欢。:)我接受答案,只要有解决办法。谢谢你的否决票,我喜欢。:)不起作用,尝试了同样的事情。请注意我的问题,图像标签。它不工作,因此接近stackoverflow。当然它不会工作<代码>文件://
将始终尝试从本地计算机加载文件。如果您从机器a为站点提供服务,而有人从机器B浏览站点,浏览器将尝试在机器B上查找该文件。正如我在回答的第一部分中所说,只有在试图查看站点的每台机器上都存在该特定路径和文件的情况下,这才会起作用。请忽略该路径,如果没有文件:///或//则图像不会显示。假设我试图显示本地服务器上的图像,则不会显示。如果有简单的代码,则不显示。你能解决这个问题吗?还有浏览器安全系统。允许“外来”内容直接访问/加载本地驱动器上的数据是非常危险的。在Firefox中,您尝试执行的操作会产生
安全错误:位于http://panic/test.html 可能无法加载或链接到file:///c:/test.jpg.
不起作用,尝试了相同的方法。请注意我的问题,图像标签。它不工作,因此接近stackoverflow。当然它不会工作<代码>文件://
将始终尝试从本地计算机加载文件。如果您从机器a为站点提供服务,而有人从机器B浏览站点,浏览器将尝试在机器B上查找该文件。正如我在回答的第一部分中所说,只有在试图查看站点的每台机器上都存在该特定路径和文件的情况下,这才会起作用。请忽略该路径,如果没有文件:///或//则图像不会显示。假设我试图显示本地服务器上的图像,则不会显示。如果有简单的代码,则不显示。你能解决这个问题吗?还有浏览器安全系统。允许“外来”内容直接访问/加载本地驱动器上的数据是非常危险的。在Firefox中,您尝试执行的操作会产生
安全错误:位于http://panic/test.html 可能无法加载或链接到file:///c:/test.jpg.
<?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"/>';    
       }       
  }