Технологии

Решено

Закрыт

vip

вывод списка из директории... - вопрос №489388

есть директория со списком файлов 1.php 2.php 3c.php… все файлы начинаются с цифры по возрастанию. мне нужно что бы при открытии любого файла из этой директории выводился список определенного количества файлов из этой директории. Например открываем 30.php он выводит ссылки от 20.php до 40.php или что то подобное. кто поможет со скриптом? 

Дополнение автора от январь 16, 2013 г., 08:45:51

для навигации, можно что бы выводило список по дате создания, но у каждой страницы свой порядок вывода предыдущих и следующих страниц. Или хотябы как вывести список послдних файлов созданых в директории? Желательно без msql что бы, чисто php если это можно. Обгуглил много всего ничего не нашел подходящего.      

Дополнение автора от январь 19, 2013 г., 20:02:16

скрипт вроде работает правда не хватало там } и "\\".$entry); на "//".$entry); заменил. остальное сам доделаю что не хватает. минимум что хотел уже получил)   вывод предыдущих и следующих страниц еще бы как то реализовать. 

Дополнение автора от январь 21, 2013 г., 09:53:10

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

Дополнение автора от январь 25, 2013 г., 12:07:16

Warning: filemtime() [function.filemtime]: stat failed for /home/www/1/1 in /home/www/1/1.php on line 4
3.php 

3.php — это всегда последний новый или измененый файл.

$ntc = filemtime(dirname(__FILE__)."//".$x[1]); — вот эта строка с ошибкой.

Дополнение автора от январь 25, 2013 г., 12:21:54

$ntc = filemtime(dirname(__FILE__)."//".$x[1].".php");

 выводит два файла, но первый и последний по изменению при открытию любого файла. это не то.

Александр декабрь 9, 2012 г.

  • Всего ответов: 6

  • Сергей - аватарка

    Сергей

    86-й в

    Для каких именно целей вам нужен данный скрипт? охарактеризуйте более конкретно поставленную задачу

    январь 10, 2013 г.
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    напишите в чат более конкретно — разберемся

    январь 16, 2013 г.
  • Сергей - аватарка

    Сергей

    86-й в

    $num=5;
    $count=0;

    if ($handle = opendir('.')) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..")
            if (!is_dir("$entry")) {
                if($count<$num) {
                $names["$entry"]=filemtime(dirname(__FILE__)."\\".$entry);
                }
                else
                {
                foreach ($names as $k=>$v)
                    {
                        if($v<filemtime(dirname(__FILE__)."\\".$entry))
                        {
                                unset($names["$k"]);
                                $names["$entry"]=filemtime(dirname(__FILE__)."\\".$entry);
                                break;
                        }
                    }
                }
                $count++;
                
            }
        }
        closedir($handle);
        
        
        foreach ($names as $k=>$v)
        echo $k."<br>";

     

    Данный кусок кода выводит $num последних созданных или измененных фалов в директории.

    январь 18, 2013 г.
    Ответ понравился автору
  • Сергей - аватарка

    Сергей

    86-й в

    Какой интервал разброса предыдущих и следующих страниц вас интересует? будет ли данный алгоритм связан с временем создания и последнего изменения файлов?

    январь 21, 2013 г.
  • Сергей - аватарка

    Сергей

    86-й в

    $x = explode("/",$_SERVER['PHP_SELF']);<br />	$nnc = $x[1];<br />	$ntc = filemtime(dirname(__FILE__)."//".$x[1]);<br />    $ntp = $ntc;<br />	$ntn = $ntc;<br /><br />if ($handle = opendir('.')) {<br />    while (false !== ($entry = readdir($handle))) {<br />        if ($entry != "." && $entry != "..") <br />		if (!is_dir("$entry"))<br />					if($ntp<filemtime(dirname(__FILE__)."//".$entry))<br />					{<br />					$nnp = $entry;<br />					$ntp = filemtime(dirname(__FILE__)."//".$entry);<br />					}<br />					else<br />					if($ntn>filemtime(dirname(__FILE__)."//".$entry))<br />					{<br />					$nnn = $entry;<br />					$ntn = filemtime(dirname(__FILE__)."//".$entry);<br />					}<br />					<br />			<br />			<br />			<br />        }<br />		closedir($handle);<br />    }<br />    <br />	<br />	<br />	echo $nnn."<br>".$nnp;
     
    Вывод предыдущего и следующего файлов по времени создания/редактирования

    январь 24, 2013 г.
  • Сергей - аватарка

    Сергей

    86-й в

    <?

    $x = explode("/",$_SERVER['PHP_SELF']);
    $x = $x[count($x)-1];

            $nnc = $x;
            $ntc = filemtime(dirname(__FILE__)."//".$x);
            $ntp = $ntc;
            $ntn = $ntc;
            
            

    if ($handle = opendir('.')) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..")
                    if (!is_dir("$entry"))
                    {
                    if(filemtime(dirname(__FILE__)."//".$entry)<$ntp)
                        {
                            $ntp = filemtime(dirname(__FILE__)."//".$entry);
                            $nnp = $entry;
                        }
                    else
                    if(filemtime(dirname(__FILE__)."//".$entry)>$ntn)
                        {
                            $ntn = filemtime(dirname(__FILE__)."//".$entry);
                            $nnn = $entry;
                        }
                        
                        
                        }
                           
                           
                           
            }
               closedir($handle);     
        }
        
        
            
    if ($handle = opendir('.')) {
        while (false !== ($entry = readdir($handle))) {
            if ($entry != "." && $entry != "..")
                    if (!is_dir("$entry"))
                                            if(($ntc<filemtime(dirname(__FILE__)."//".$entry))&&($ntn>filemtime(dirname(__FILE__)."//".$entry)))
                                            {
                                            $nnn = $entry;
                                            $ntn = filemtime(dirname(__FILE__)."//".$entry);
                                            }
                                            else
                                            if(($ntc>filemtime(dirname(__FILE__)."//".$entry))&&($ntp<filemtime(dirname(__FILE__)."//".$entry)))
                                            {
                                            $nnp = $entry;
                                            $ntp = filemtime(dirname(__FILE__)."//".$entry);
                                            }
                                           
                           
                           
                           
            }
                    closedir($handle);
        }
       
           
            echo $nnn." ".$nnp;

    ?>

    январь 31, 2013 г.
    Ответ понравился автору
    Лучший ответ по мнению автора

Похожие вопросы

Аккорд WinNET

декабрь 16, 2012 г.

Технологии