0

この質問がこれまでになかったといいのですが、最善を尽くして検索しました。

次のように、サブフォルダー内のphpファイルを指すリンクを含むサイトがあります。

index.php/projects/nameofproject/project.php

JavaScript がない場合、ユーザーは単に project.php にリダイレクトされ、コンテンツを見ることができます。

project.php ファイルには、2 つの 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.'">
        ';
    }
?>

これはこれまでのところ機能しますが、project.php を index.php ページの div にロードしようとすると、画像が壊れたリンクとして表示されます。テキストファイルに関連するコードは機能します。

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

絶対ファイル パスを設定して、ブラウザーが開かれた場所からファイルを読み取らないようにする必要があります。/最も簡単な方法は、ファイル システムのルートを参照する whichを追加することです。これは、セットアップ方法によって異なります。

したがって$imagesFile = glob("*.jpg");、画像が保存されている場所を更新します。

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