|
|
|
| С темой не очень-то удачно получилось :)
Есть скрипт статей.
<?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";
}
} }
?>
|
Он выводит все статьи. А что надо добавить, чтобы он выводил последние четыре новые статьи; а чтобы читать другие статьи, нужно перейти по ссылке "Читать все статьи". | |
|
|
|
|
|
|
|
для: 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(). | |
|
|
|