Надеюсь, этот вопрос не задавался раньше, я сделал все возможное для поиска.
У меня есть сайт со ссылками, указывающими на php файлы в подпапках, например:
index.php/проекты/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.'">
';
}
?>
Это работает до сих пор, но когда я пытаюсь загрузить project.php в div на странице index.php, изображения отображаются как неработающие ссылки. Работает код, связанный с текстовыми файлами.
Код JQuery (позже я буду более конкретным, а не нацелен на все ссылки):
$("a").click(function(){
event.preventDefault()
var href = $(this).attr('href');
$(".details").empty();
$(".details").load(href);
});
Проблема заключается в том, что файл php (project.php) пытается загрузить изображения, как если бы они находились в той же папке, что и этот файл, который работает, когда это так (без javascript), но не тогда, когда я использую JQuery для загрузки() project.php на index.php
Как заставить изображения работать при загрузке project.php на странице index.php?
Вы хотите установить абсолютные пути к файлу, чтобы остановить просмотр браузера с того места, где они были открыты. Самый простой способ - добавить /
который будет ссылаться на корень вашей файловой системы. Это будет зависеть от того, как вы настроены.
Поэтому обновите $imagesFile = glob("*.jpg");
где хранятся изображения:
$imagesFile = glob("/pathtoimages/*.jpg");
$projectName = "/projects/" . basename(dirname($_SERVER['PHP_SELF'])) . "/";
и echo ' <img src="'.$projectName.''.$imageName.'">
Но это не работает, даже если я смотрю на результат, путь выглядит правильным.
php