Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Июль 27, 2017, 09:39:09


Войти


Страниц: [1]
  Печать  
Автор Тема: Прблема со скриптом PHP  (Прочитано 2844 раз)
0 Пользователей и 1 Гость смотрят эту тему.
gameover
Новичёк
*

Карма: 0
Сообщений: 2



Просмотр профиля WWW
« : Сентябрь 28, 2008, 03:01:15 »

такой код
Код:
if(empty($path)) $path="articles";
$dir=opendir("$path");
while ($file=readdir($dir)){
echo("$file\n"); //тут ввывод данных для отладки.
if(($file!=".") && ($file!="..")){
if(substr_count($file,".htm")==0){
print("<tr>
<td width='16'><img src='folder.png' width='16' height='16'></td>
<td class='menu-point' onmouseover=\"this.style.backgroundColor='#D5E1F7'\" onmouseout=\"this.style.backgroundColor='#FFFFFF'\" onclick=\"document.location='articles.php?path=$path/$file'\"><a class='menu-point' href='articles.php?path=$path/$file'>$file</a></td>");
}else{
$file=str_replace(".htm","",$file);
print("<tr>
<td width='16'><img src='file.png' width='16' height='16'></td>
<td class='menu-point' onmouseover=\"this.style.backgroundColor='#D5E1F7'\" onmouseout=\"this.style.backgroundColor='#FFFFFF'\" onclick=\"document.location='articles2.php?article=$path/$file'\"><a class='menu-point' href='articles2.php?article=$path/$file'>$file</a></td>");
}
}
}
на локальном web сервере выдает ответ

Код:
. .. Болезни молочных желез
Болезни сердечно-сосудистой системы
Инфекционные болезни
Эндокринные болезни

на хостинге :

Код:
Болезни сердечно-сосудистой системы
Эндокринные болезни
.. Болезни молочных желез
Инфекционные болезни
.

как тут можно заметить сортировки нет, или она сделана по непонятному алгоритму.
знаки .. и . это переход в корень и вверх.
И как видно на скрипте когда в каталоге появляются файлы .htm, то там прописывается другая ссылка. На деле попадаем на ту же страницу. В чем пожет быть проблема.
На локальном сервере все работает корректно. Файлы на винте и хостинге идентичны.
А может причина в различие ОСей? Как тогда это исправить?
Сайт http://cyberdoctor.sk6.ru

« Последнее редактирование: Сентябрь 28, 2008, 03:05:20 от gameover » Записан

North
Новичёк
*

Карма: 0
Сообщений: 30


Просмотр профиля
« Ответ #1 : Сентябрь 28, 2008, 12:30:44 »

Цитировать
string readdir (resource dir_handle)

<...> Имена файлов возвращаются в порядке, в котором они хранятся в файловой системе.

Как вариант, можно имена файлов сначала закинуть в массив, отсортировать там и работать уже с массивом
Записан
gameover
Новичёк
*

Карма: 0
Сообщений: 2



Просмотр профиля WWW
« Ответ #2 : Сентябрь 28, 2008, 13:31:34 »

тут дело в настройках PHP. И почему символы . и .. находятся не в в начале списка? Конечно можно создать массив и сортировать его, но это уже признаки плохого тона кодирования. Ищем другой выход.
Записан

Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.043 секунд. Запросов: 17.