Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получить файлы из папки, в порядке нормальной сортировки 
:(
    Опции темы
anrs
Дата 12.9.2009, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



Приветствую уважаемые программисты . 

Столкнулся с проблемой . Мой скрипт заходи в указанную папку и получает список файлов и подгружает их ( include ) . Название файлов примерно такое :

1.php , 2.php , 3.php ... 9.php , 10.php , 11.php

Скрипт воспринимает 10.php за 1.php , тобишь если нету 10-11.php , то выводится по порядку всё от 1 до 9 , а когда 10-11 есть , то их выводит первыми . 

Как заставить скрипт воспринимать 10 больше 9 ? ) 

Код

$desired_extension = 'php';
$dirname = "./db/comment_news/$newscomm/$id/"; 
$files = array();
$dir = opendir($dirname); 
while(false != ($file = readdir($dir))) { if(($file != ".") and ($file != "..")) 
{$fileChunks = explode(".", $file);
 if($fileChunks[1] == $desired_extension)
{
 $files[] = $dirname.$file;

} } }
 closedir($dir); 

$c = count($files);

for($i = $c - 1; $i > -1; $i--) {
$info = pathinfo($files[$i]);
include "./db/comment_news/".$newscomm."/".$id."/".$info['filename'].".php";
if ($user_id_com == ""){}else {
include $style."/12_comment.tpl";
}
}


Благодарствую за помощь .
PM MAIL   Вверх
skyboy
Дата 13.9.2009, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вместо opendir + readdir используй glob
для натуральной сортировки("2.php"< "10.php") вместо лексикографической("2.php"> "10.php") полученного массива строк-имен файлов используй natsort.
PM MAIL   Вверх
anrs
Дата 13.9.2009, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



А можете примерно описать как пременить natsort ?

Благодарю .
PM MAIL   Вверх
Simpliest
Дата 13.9.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



А вы по ссылке не ленитесь сходить.
Там даже пример есть. Прямо под ваш вопрос.


--------------------
user posted image
PM   Вверх
anrs
Дата 13.9.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



Заходил , я не тупой . Дело в другом - прямо говоря : Не работает! Может я не правельно что-то делаю , но не работает . Тем более в моём коде нету Array! Именно в том месте где идёт подгрузка файлов.
PM MAIL   Вверх
bars80080
Дата 13.9.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



да ладно нету? $files, $fileChunks, $info


Цитата(anrs @  13.9.2009,  15:58 Найти цитируемый пост)
Тем более в моём коде нету Array!

а где ваш код? или тот что сверху, т.е. не претерпевший измений?
PM MAIL WWW   Вверх
Simpliest
Дата 13.9.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(anrs @  13.9.2009,  15:58 Найти цитируемый пост)
Заходил , я не тупой . ... Тем более в моём коде нету Array

По двум ссылкам ходили? и natsort и glob?

Вы все еще кипятите и у вас нет Tide? тьфу, списка файлов в виде Array? Тогда мы едем к вам.


--------------------
user posted image
PM   Вверх
anrs
Дата 13.9.2009, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



Ребят , подскажите , что не так : 

Вот сделал списко файлов под natsort ...
Через print_r выводит всё правельно : 
Array ( [0] => db/news/home/1.php [2] => db/news/home/2.php [3] => db/news/home/3.php [4] => db/news/home/4.php [5] => db/news/home/5.php [6] => db/news/home/6.php [7] => db/news/home/7.php [8] => db/news/home/8.php [9] => db/news/home/9.php [1] => db/news/home/10.php )

А подгружает всё равно не правельно ...

Код

natsort($files);
print_r($files);
for($i = $c - $list_d; $i > -1; $i--) {
$info = pathinfo($files[$i]);
// Подгрузка новостей
if ($news_c < $max_news) {
$news_c = $news_c + 1;
natsort($info);
$info2 =  $info['filename'];


Прошу не гноить меня , а обьясните нормально пожалуйста ...
PM MAIL   Вверх
bars80080
Дата 13.9.2009, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(anrs @  13.9.2009,  22:05 Найти цитируемый пост)
Через print_r выводит всё правельно : 

Цитата(anrs @  13.9.2009,  22:05 Найти цитируемый пост)
А подгружает всё равно не правельно ...

подгружением занимается функция include, которую вы благополучно утаили от нас, и тем не менее спрашиваете. 
откуда мы знаем, что вы там подгружаете?
PM MAIL WWW   Вверх
skyboy
Дата 14.9.2009, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(anrs @  13.9.2009,  21:05 Найти цитируемый пост)
А подгружает всё равно не правельно ...

print_r во второй строке отображает список файлов в нужном тебе порядке? или нет?
а зачем циклы и условия? только для того, чтоб перебрать массив? тогда используй foreach.

Добавлено через 1 минуту и 9 секунд
Цитата(anrs @  13.9.2009,  21:05 Найти цитируемый пост)
Прошу не гноить меня

надеюсь, все-таки "гнобить". а то страшно получается smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0521 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.