找不到PHP错误对象

找不到PHP错误对象,php,xampp,Php,Xampp,我创建了一个小PHP文件,它在一个目录中显示文本文件的名称为first.txt,second.txt,third.txt。单击任何文件时,我都会出现错误“找不到对象” 这不起作用: localhost/Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt 但这是可行的: file:///Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first

我创建了一个小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/Applications,referer:localhost/learning/ListingFiles/File.php
  • [Thu Jul 18 01:15:43 2013][error][client::1]文件不存在:/Applications/XAMPP/xamppfiles/htdocs/Applications,referer:localhost/learning/ListingFiles/File.php
  • [Thu Jul 18 01:17:13 2013][error][client::1]文件不存在:/Applications/XAMPP/xamppfiles/htdocs/Applications,referer: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

    • 您的链接指向错误。使用xampp时,链接应与htdocs文件夹相关,而不是与整个路径相关:

      /Learning/ListingFiles/first.txt
      
      请注意,如果您的网站位于使用域的网络上,这将与您使用的链接路径相同


      当您使用file::时,它会起作用,因为它明确表示路径是计算机上的文件。

      您的链接指向错误。使用xampp时,链接应与htdocs文件夹相关,而不是与整个路径相关:

      /Learning/ListingFiles/first.txt
      
      请注意,如果您的网站位于使用域的网络上,这将与您使用的链接路径相同

      当您使用file::时,它会起作用,因为它明确表示路径是计算机上的文件。

      尝试使用

      $dir = "/Applications/XAMPP/xamppfiles/htdocs/learning/";
      
      作为包含文件的主路径

      此完整路径或“./learning”将使您找到文件的正确目录

      创建链接时,您需要使用“/learning/”+filename提供文件的路径

      谢谢, MyStream

      尝试使用

      $dir = "/Applications/XAMPP/xamppfiles/htdocs/learning/";
      
      作为包含文件的主路径

      此完整路径或“./learning”将使您找到文件的正确目录

      创建链接时,您需要使用“/learning/”+filename提供文件的路径

      谢谢,
      MyStream

      您是否尝试过使用get_cwd()当前目录的相对路径?这里是在黑暗中拍摄的,但我认为
      localhost
      不是计算机上文件结构的一部分。。你试过
      Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt吗?@user20232359723568423357842364我们不能只写“Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt”@MyStream getcwd()给出以下位置“/Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles”您是否尝试过使用get_cwd()当前目录的相对路径?此处不清楚,但我认为
      localhost
      不是计算机上文件结构的一部分。。你试过
      Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt吗?@user20232359723568423357842364我们不能只写“Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/first.txt”@MyStream getcwd()给出以下位置“/Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles”Ok,但是我在第5行得到了错误警告:opendir(/Learning/ListingFiles/)[function.opendir]:无法打开dir:Applications/XAMPP/xamppfiles/htdocs/Learning/ListingFiles/file.php中没有这样的文件或目录,这可能是因为在使用opendir时需要包含域:try$directory=$\u SERVER['HTTP\u HOST']。“/Learning/ListingFiles”;另外,请确保路径大写正确,在linux或unix服务器上/Learning不同于/Learning。顺便说一句,我只是在youtube上学习一个教程,我做了他做的事情。唯一的区别是我在一台maclet上,我们还可以,但是我得到了错误警告:opendir(/Learning/ListingFiles/)[function.opendir]:无法打开目录:第5行的/Applications/XAMPP/xamppfiles/htdocs/learning/ListingFiles/file.php中没有这样的文件或目录。这可能是因为在使用opendir时需要包含域:try$directory=$\u SERVER['HTTP\u HOST']。“/Learning/ListingFiles”;另外,请确保路径大写正确,在linux或unix服务器上/Learning不同于/Learning。顺便说一句,我只是在youtube上学习一个教程,我做了他做的事情。唯一的区别是我在一台maclet上