2012-04-27 4 views
1

Я не разработчик, но я разработчик по умолчанию на работе сейчас. :) В течение последних нескольких недель я нашел много своих ответов здесь и на других сайтах, но эта последняя проблема меня смутила, не веря. Я ЗНАЮ, что это простой ответ, но я не задаю правильным вопросам Google.Попытка эха содержимого нескольких текстовых файлов при сортировке вывода по имени файла - PHP

Сначала ... Я должен использовать текстовые файлы, так как у меня нет доступа к базе данных (вещи заблокированы ТЯЖЕ, когда я работаю).

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

Я ЗАКРЫТ, я это знаю ... Наконец-то мне удалось разобраться в сортировке, и я знаю, как читать в каталог и отображать содержимое файлов, но у меня есть чертовски время объединив эти два понятия.

Может ли кто-нибудь помочь? С помощью скрипта, как и сейчас, я без проблем просматриваю отсортированные имена файлов. Моя строка кода, которая, как я думал, будет читать содержимое файла, а затем отображать его, отражает только разрывы строк, но не содержимое файлов. Это код, который у меня есть до сих пор - это всего лишь тестовый код, поэтому я могу заставить работать функциональность.

<?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/>"; 
} 
?> 

Помощь? :)

Dave

+0

Кстати, если я каким-то образом испортил оригинальный пост при вводе кода, прошу прощения. – user1304112

+0

'file_get_contents' не может найти файл по его имени, вы должны использовать' file_get_contents («./ event-titles/$ file») 'как @Greg предложил его ответ. – bfavaretto

ответ

1

$files = scandir('./event-titles') возвращает массив имен файлов в имени файла сортируется порядке. После этого вы можете сделать

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

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

+0

По какой-то причине это дает мне пустое возвращение. Я понимаю логику этого, хотя, верьте или нет. ;) (Ты меня не знаешь, но ты не поверишь, что я понял это, если ты меня знал.;)) – user1304112

 Смежные вопросы

  • Нет связанных вопросов^_^