0

我希望这个问题以前没有被问过,我已经尽力搜索了。

我有一个指向子文件夹中 php 文件的链接的站点,如下所示:

index.php/projects/nameofproject/project.php

在没有 javascript 的情况下,用户将被简单地重定向到 project.php 并能够看到内容。

project.php 文件显示两个 txt 文件的内容以及 nameofproject 文件夹中存在的所有图像,就像这样(我意识到变量的处理可能不是很好,但我对此很陌生):

<?php
    $imagesFile = glob("*.jpg");
    $headingFile = "heading.txt";
    $ph = fopen($headingFile, 'r');
    $heading = fread($ph, filesize($headingFile));
    fclose($ph);
    $infoFile = "info.txt";
    $ih = fopen($infoFile, 'r');
    $info = fread($ih, filesize($infoFile));
    fclose($ih);

    echo '
        <h2>'.$heading.'</h2>
        <p>'.$info.'</p>
    ';

    for ($i=0; $i<count($imagesFile); $i++)
    {
        $imageName = $imagesFile[$i];
        echo '
            <img src="'.$imageName.'">
        ';
    }
?>

到目前为止这有效,但是当我尝试在 index.php 页面上的 div 中加载 project.php 时,图像显示为断开的链接。与文本文件相关的代码有效。

JQuery 代码(我稍后会更具体,不针对所有链接):

$("a").click(function(){
    event.preventDefault()
    var href = $(this).attr('href');
    $(".details").empty();
    $(".details").load(href);
});

问题似乎是php文件(project.php)尝试加载图像,就好像它们与该文件位于同一文件夹中一样,在这种情况下(没有javascript)有效,但在我使用JQuery加载时无效() index.php 上的 project.php

当我在 index.php 页面上加载 project.php 时,如何使图像正常工作?

4

1 回答 1

0

您需要设置绝对文件路径以阻止浏览器从打开它们的位置读取它们。最简单的方法是添加/将引用文件系统根目录的哪个。这仍然取决于您的设置方式。

所以更新$imagesFile = glob("*.jpg");图像的存储位置:

  $imagesFile = glob("/pathtoimages/*.jpg");
于 2013-10-21T12:44:00.197 回答