Объект ошибки PHP не найден

Я создал небольшой PHP-файл, который отображает имя текстовых файлов в каталоге как first.txt , second.txt , third.txt . При нажатии на любой из файлов я получаю сообщение об ошибке «объект не найден».

Это не работает:

localhost/Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt

Но это работает:

file:///Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt

Можете ли вы помочь мне понять, что не так?

Вот мой код:

 <?php $directory = '/Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles'; if ($handle = opendir($directory.'/')){ echo 'Looking inside'.$directory.'<br>'; while ($file = readdir($handle)){ if ($file != '.'&&$file != '..'){ echo '<a href="'.$directory.'/'.$file.'">'.$file.'</a><br>'; } } } ?> 

Ниже приведены некоторые обновления файла журнала

  • [Thu Jul 18 01:06:57 2013] [error] [client :: 1] Файл не существует: / Applications / XAMPP / xamppfiles / htdocs / xampp / xamppfiles
  • [Thu Jul 18 01:15:14 2013] [error] [client :: 1] Файл не существует: / Applications / XAMPP / xamppfiles / htdocs / Приложения, референт: localhost / learning / ListingFiles / file.php
  • [Thu Jul 18 01:15:43 2013] [error] [client :: 1] Файл не существует: / Приложения / XAMPP / xamppfiles / htdocs / Приложения, референт: localhost / learning / ListingFiles / file.php
  • [Thu Jul 18 01:17:13 2013] [error] [client :: 1] Файл не существует: / Приложения / XAMPP / xamppfiles / htdocs / Приложения, референт: localhost / learning / ListingFiles / file.php
  • [Thu Jul 18 01:39:04 2013] [error] [client :: 1] Файл не существует: /Applications/XAMPP/xamppfiles/htdocs/learning/ListingFiles/function.opendir, referer: localhost / learning / ListingFiles / file.php

Попробуйте использовать

 $dir = "/Applications/XAMPP/xamppfiles/htdocs/learning/"; 

как ваш основной путь с файлами в нем.

Этот полный путь или «../learning» должен привести вас в нужный каталог к ​​вашим файлам.

При создании ссылки вы хотите использовать «/ learning /» + имя файла, чтобы указать путь к файлу.

Спасибо, MyStream

Ваша ссылка не указана правильно. При использовании xampp ссылка должна быть относительно вашей папки htdocs, а не всего вашего пути:

 /Learning/ListingFiles/first.txt 

Обратите внимание, что это будет тот же путь ссылки, который вы использовали бы, если бы ваш сайт был в сети с использованием домена.

Он работает, когда вы используете файл :: потому что в нем явно указано, что путь является файлом на вашем компьютере.