4

これは実際には簡単な作業です

指定したフォルダにあるすべてのファイルの内容を表示したい。

ディレクトリ名を渡しています

echo "<a href='see.php?qname=". $_name ."'>" . $row["qname"] . "</a>";

2ページ目に、

ディレクトリの内容を繰り返し処理しています

while($entryname = readdir($myDirectory)) 
{
            if(is_dir($entryname))
            {
                continue;
            }   
            if($entryname=="." || $entryname==".." )
            {}
            else
            {
                if(!is_dir($entryname))
                {   
                    $fileHandle=fopen($entryname, "r");
                    
                    while (!feof($fileHandle) ) {
           $line = fgets($fileHandle);
           echo $line . "<br />";
        }

. . .

しかし、ファイルを読み取ることができません。権限も変更しました。

ディレクトリ名を静的に配置しようとしましたが、何が間違っているのか誰かが提案できますか?

4

2 に答える 2

7

$entrynameファイル名のみが含まれ、パス情報は含まれません。自分でパスを手動で再構築する必要があります。例えば

$dh = opendir('/path/you/want/to/read/');
while($file = readdir($dh)) {
    $contents = file_get_contents('/path/you/want/to/read/' . $file);
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^---include path here
}

「ファイルコードの読み取り」に明示的なパスがないと、ファイル名を読み取っているディレクトリではなく、スクリプトの現在の作業ディレクトリでファイルを開いて読み取ろうとしています。

于 2013-11-14T16:22:48.367 に答える