Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как "разрезать" статьи на первые четыре?

Сообщения:  [1-2] 

 
 автор: cheops   (22.07.2005 в 13:02)   письмо автору
 
   для: FiX   (22.07.2005 в 12:43)
 

При работе с файлами лучше поступить следующим образом. Переменные полученные в строке
<?php
list($title, $content, $add, $avtor, $data, $mod,)=split("::", $fgets);
?>

засовать в ассоциативный массив, где в качестве ключа будет дата
<?php
  $arr
[$data] = implode("::",array($title, $content, $add, $avtor, $mod));
?>

после чего следует отсортировать массив по ключу
<?php
  ksort
($arr);
  
// kasort($arr);
?>

и выводить первые 4 элемента массива, опять разбивая его функцией explode() или split().

   
 
 автор: FiX   (22.07.2005 в 12:43)   письмо автору
 
 

С темой не очень-то удачно получилось :)
Есть скрипт статей.
<?php
$art_dd 
= "texts/art";
        
$dh = opendir($art_dd);
        while (
gettype($file=readdir($dh)) != 'boolean')
        {
        if(
$file != "." && $file != "..")
        {
        
$fopen = fopen("$art_dd/$file", 'r');
        
$fgets = fgets($fopen);
        
$read = explode(".", $file);
        list(
$title, $content, $add, $avtor, $data, $mod,)=split("::", $fgets);
        if (
"$mod" == "0")
            {
            print 
"";
            }
        elseif(
"$mod" == "1")
            {
            if(
time()-$data <= (86400*$new_before))
            {
$new = " - <u>новая статья</u>";}
            else {
$new = "";}
            
$words="25";  // это кол-во слов из статьи для предпросмотра
            
$new_string=null;
            
$array=explode(" ",$content);
             for(
$i=0;$i<$words;$i++)
             {
             
$new_string.=$array[$i]." ";
             }
             
$preview=trim($new_string);
             print 
"<a href=index.php?read=$read[0]\">$title</a>$new<BR>$preview ... <a href=\"index.php?read=$read[0]\">читать дальше</a><br><br>\n";
            }
        } }
        
?>

Он выводит все статьи. А что надо добавить, чтобы он выводил последние четыре новые статьи; а чтобы читать другие статьи, нужно перейти по ссылке "Читать все статьи".

   

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования