2012-04-27 7 views
1

私はデベロッパーではありませんが、私は今の仕事のデベロッパーです。 :)ここ数週間、私はここや他のサイトで多くの答えを見つけましたが、この最新の問題は信じられないほど混乱しています。私はそれが簡単な答えだと知っていますが、Googleに正しい質問をしているわけではありません。ファイル名で出力をソートしながら複数のテキストファイルの内容をエコーし​​ようとしています - PHP

最初...私はデータベースにアクセスできないので(テキストファイルを使用する必要があります。

とにかく、そこに保存されているテキストファイルのディレクトリを調べ、各ファイルを開き、表示するテキストがファイル名でソートされていることを確認しながら少量のテキストを表示する必要があります。

私は結局分かりました...最終的にソートを把握することができました。ディレクトリを読み込んでファイルの内容を表示する方法を知っていますが、それらの2つの概念を統合します。

誰でも手伝っていただけますか?現在のスクリプトでは、ソートされたファイル名を問題なくエコーします。コードの私の行は、ファイルの内容を読み取って表示するだけで、ファイルの内容ではなく改行をエコーし​​ていると考えていました。これは私が今までに持っているコードです。テストコードなので、機能を動作させることができます。

<?php 
$dirFiles = array(); 
if ($handle = opendir('./event-titles')) { 
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != "..") { 
      $dirFiles[] = $file; 
     } 
    } 
    closedir($handle); 
} 
sort($dirFiles); 
foreach($dirFiles as $file) 
{ 
    $fileContents = file_get_contents($file);//////// This is what's not working 
    echo $file."<br>".$fileContents."<br/><br/>"; 
} 
?> 

ヘルプ? :)

デイブ

+0

ところで、コードを入力するときに何とか元の投稿を乱すと、私はお詫び申し上げます。 – user1304112

+0

'file_get_contents'は名前だけではファイルを見つけることができません。その答えに@Gregが示唆するように' file_get_contents( "./ event-titles/$ file") 'を使用する必要があります。 – bfavaretto

答えて

1

$files = scandir('./event-titles')は、ファイル名のソート順にファイル名の配列を返します。それだけでファイル名が現在のディレクトリを検索するのfile_get_contents、ないあなたはSCANDIRに指定されたディレクトリの原因になりますようあなたは、私が呼ぶのfile_get_contentsでディレクトリ名を使用

foreach($files as $file) 
{ 
    $fileContents = file_get_contents('./event-titles/'.$file); 
    echo $file."<br/>".$fileContents."<br/><br/>"; 
} 

注意を行うことができます。

+0

何らかの理由で、それは私に空白のリターンを与えています。私はそれの背後にある論理を理解し、それを信じているかどうかは分かりません。 ; )(あなたは私を知らないが、あなたが私を知っていれば私がこれを理解したと信じていないだろう;)) – user1304112

関連する問題