2013-07-03 4 views
-2

Я работаю над минимальной системой блога на PHP, которая должна работать, сканируя папку для файлов postX.txt, а затем отображать каждый пост от самого нового до самого старого. Для одного сообщения в блоге, это работает отлично:Looping foreach in reverse, PHP

http://pastebin.com/i3hiLWGd

post1.txt содержит что-то вроде:

<?php 
    $post_user="Frash23"; 
    $post_title="loltitle 2"; 
    $post_content="<p>lolcontent post 2</p>"; 
    $post_info="lolinfo post 2"; 
?> 

Это выводит правильное сообщение в блоге. Следующий код не:

http://pastebin.com/HdtgMBPV

Как вы можете видеть, это тот же самый код с добавленным Еогеасп. Повторяя вывод $ file1 «post2.txt post1.txt», почему это не работает? Все переменные (при проверке HTML через кран firebug хром) не работают. (т. е. blog/users //. png).

Кто-нибудь знает, что я делаю неправильно?

+1

Пожалуйста, разместите здесь свой код. Таким образом, ваш вопрос может оставаться в силе после того, как ссылка замирает. – PeeHaa

+0

Собственно, я не вижу многого. Пожалуйста, разместите свой код ** здесь ** и отформатируйте его так, чтобы его можно было легко читать –

+0

Также, пожалуйста, правильно открепите свой код. – PeeHaa

ответ

2

От documentation:

Учитывая строку, содержащую путь к файлу или каталогу, эта функция возвращает замыкающей имя компонента.

«задний компонент имени», в вашем случае file1.txt, когда вы включите его, добавить .txt в результате чего в file1.txt.txt, что он не может найти.

Заменить этот

include "blog/posts/{$file1}.txt"; 

с

include "blog/posts/{$file1}"; 
+0

О, ничего себе. Я должен был это понять. Я использовал некоторые из моего кода из автоматического craecor menu, который не использовал расширения файлов, поэтому я добавил их по своей природе. Наверное, это то, что я получаю для кодирования всю ночь. –

0

изменить это

foreach (array_reverse(glob("blog/posts/*")) as $path1) 

это

foreach (glob("blog/posts/*") as $path1) 
+0

Я уверен, что OP хочет изменить порядок – PeeHaa

1

Вы утверждаете, что $file1 делает содержит имя файла с расширением , а затем с помощью

include "blog/posts/{$file1}.txt"; 

Вы Добавляя имя файла если это не необходимо и файл не найден. попробуйте:

include "blog/posts/{$file1}";