【问题标题】:images are not displaying in web page when i retrieve them from server folder当我从服务器文件夹中检索图像时,图像未显示在网页中
【发布时间】:2017-05-30 22:45:10
【问题描述】:

我正在尝试通过 PHP 将服务器文件夹中的所有图像检索到我的网页。
在本地服务器上,它们显示正常,但在主服务器上,图像不显示并显示未找到错误 404

即使图像在那里。

请帮我摆脱这个。图片在 Big Rock 服务器中。

这是我的代码:

$filename = $_POST['file'];
echo '<table class="table1" border="0" width="100%" >';
echo "<tr>";
echo "<td class='td1'>";
$images = glob($_SERVER["DOCUMENT_ROOT"].
  "/admin/gallery/".$filename.
  "/*.*");
$count = 0;
foreach($images as $image) {
  echo '<a href="'.$image.
  '" target="_blank"><img src="'.$image.
  '"class="img-rounded mySlides" width="200" height="150"/></a><br />';
  if ($count < 3) {
    $count++;
    echo "</td>";
    echo "<td class='td1'>";
  } else {
    echo "</tr>";
    $count = 0;
    echo "<tr>";
    echo "<td class='td1'>";
  }
}

【问题讨论】:

标签: php html


【解决方案1】:

HTTP 404 Not Found Error 表示在服务器上找不到您尝试访问的网页。这是一个客户端错误,这意味着页面已被删除或移动,并且 URL 未相应更改,或者您输入的 URL 不正确。在给出 url 时给出扩展。

【讨论】:

  • 不,图像图标正在显示,当我单击该图像时,它显示 404 图像未找到,即使图像在那里
【解决方案2】:

文件的权限没有问题。该错误是由于图像的相对路径不匹配造成的。 404 表示资源不存在。

你可以在这里查看我的答案 [can't find correct relative paths of CSS background-image

【讨论】:

  • 我检查了所有类型的路径定义,但我无法解决问题
  • @rahulbommaraju 如果您可以在控制台上共享路径。如果您不想透露网站,请改用 XXX。
  • 图像的路径应该类似于yourwebsite/admin/gallery/abc.png,否则您共享页面检查路径。
  • 我尝试过的路径是example.com/admin/gallery。它只是显示图像图标,但图像没有显示
  • @rahulbommaraju 如果您可以在上面尝试使用w3schools.com/html/html5.gif,则缺少图像名称
【解决方案3】:

问题是 glob($_SERVER["DOCUMENT_ROOT"]."/admin/gallery/".$filename."/.").$_SERVER["DOCUMENT_ROOT"] 将采用路径作为 home/xxxx/public_html/admin/gallery.which 无法在浏览器中打开。图像只能通过“http://example.com/folder/img.jpg”这样的路径打开。所以我已经裁剪了路径,直到像 home/xxx/public_html/ 这样的管理文件夹admin/gallery 到 admin/gallery 并在 img src 中我给出了 src="http://example.com/".$image 如代码所示

$filename=$_POST['file'];
echo '<table class="table1" border="0" width="100%" >';
echo "<tr>";
echo "<td class='td1'>";
$curdir=getcwd();
$images = glob($curdir."/admin/gallery/".$filename."/*.*");
$count=0;
foreach($images as $image) 
{
$dir="http://screccs.com".str_replace($curdir,"",$image);
 echo "<a href='".$dir."' target='_blank'>";     echo "<img src='".$dir."'class='img-rounded' width='200' height='150'/></a><br />";
if($count<3)
{
$count++;
echo "</td>";
echo "<td class='td1'>";
}
else
{
echo "</tr>";
$count=0;
echo "<tr>";
echo "<td class='td1'>";
}
}
echo '</tr>';
echo '</table>';
}

【讨论】:

    【解决方案4】:

    我认为问题与文件夹权限有关。授予适当的读取权限,它将起作用。

    【讨论】:

    • @Hitanshu-Malhotra 权限没有问题,错误清楚地显示 404。这是相对路径的问题。
    • @rahulbommaraju 在浏览器的页面上按 F12 移动到控制台选项卡,您可以检查错误。您将能够找到图像src。
    • 是的,它显示错误:加载资源失败,服务器响应状态为 404(未找到)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多