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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт для вап-сайта, что-то не работает 
:(
    Опции темы
Maks 2k
Дата 11.4.2005, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



С PHP знаком буквально две недели. Решил сделать вап-сайт php + mySQL. Нашел скрипт, который индексирует все файлы в директории, создает на них ссылки+постраничная навигация. Но что-то в нем не работает. Может кто увидит ошибку и подскажет что не так.
Код

<? 

$index_per_page = 10; 

$allowed_file = "type_file.dat";

#$index_flag = false;        # false - нет 
$index_flag = true;          # true - да 

#$existion_flag = false;     # false - нет 
$existion_flag = true;       # true - да 

#$size_flag = false;          # false - нет 
$size_flag = true;            # true - да 

$curren_dir = getcwd (); 
$lenghth = strlen ($curren_dir); 
for ( $i = $lenghth; $i>0; $i--) {  if ( $curren_dir [$i] === "/" or $curren_dir [$i] === "\\" ) { $curren_dir_title = substr ( $curren_dir, $i+1, $lenghth);  break; } } 

$header = '<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.3//EN" "http://www.phone.com/dtd/wml13.dtd"><wml><card id="" title="'.$curren_dir_title.'">'; 
$footer = '</card></wml>'; 

$navigation_bar_both = '<p align="center"><a href="index.php?action=back">&lt;&lt;&lt;</a>&nbsp;<a href="index.php?action=forward">&gt;&gt;&gt;</a></p>'; 
$navigation_bar_back = '<p align="center"><a href="index.php?action=back">&lt;&lt;&lt;</a></p>'; 
$navigation_bar_forward = '<p align="center"><a href="index.php?action=forward">&gt;&gt;&gt;</a></p>'; 

session_name ("mysess"); 
session_start(); 

if ( !(trim ($HTTP_GET_VARS['action']) == "dir") ) 
  { 
    if ( trim ($HTTP_GET_VARS['action']) == "forward" ) 
      { $HTTP_SESSION_VARS["index_page"]++; } 

    if ( trim ($HTTP_GET_VARS['action']) == "back" ) 
      { $HTTP_SESSION_VARS["index_page"]--; } 
  } 
else 
  { 
      session_register("index_page"); 
      $HTTP_SESSION_VARS["index_page"] = 0; 
  } 

$body = ""; 
$body_line = ""; 
$i = 1; 
$dir = opendir ($curren_dir); 


function allowed_type ($d) 
  { 
   $lenghth = strlen ($d); 
   for ( $i=$lenghth; $i>0; $i--) 
     { 
      if ( $d [$i] == '.' ) 
        { 
         global $name; 
         $name = substr ( $d, 0, $i); 
         $existion = strtolower( substr ( $d, $i+1, $lenghth) ); 
         break; 
        } 
  } # end for 

    global $allowed_file; 
    $fallowed = fopen ( "$allowed_file", "r"); 
    while (!feof ($fallowed) ) 
      { 
        $type = fgets ($fallowed, 1024); 
        if ( !(trim (strip_tags($type) ) == "") ) 
          { 
          if ( trim($type) === $existion ) {return true; break;}; 
          } 
      } 
    return false; 


while ( ($d = readdir ($dir)) !== false) 
  { 
    if ( is_dir ( $d ) and !($d == ".") and !($d == "..")) 
      { 
        $body_line = '<p align="left"><small>[dir]...<a href="$d/index.php?action=dir">$d</a></small></p>'; 

        $body = $body.$body_line; 
      } 

      $flag_allowed = !($d == ".htaccess") and !($d == "index.php") and !($d == $allowed_file); 
    if ( is_file ( $d ) and $flag_allowed and allowed_type($d)) 
      { 
        $LIST_FILE = stat ($d); 
        $file_size = $LIST_FILE [7]; 
        $file_change_time = $LIST_FILE [9]; 

        if ($file_size < 1024) $file_size = $file_size."b"; 
        if ($file_size >= 1024) $file_size = round (($file_size/1024), 1)."Kb"; 
        if ($file_size >= 1024) $file_size = round (($file_size/1024), 1)."Mb"; 

        if ($index_flag) $index = $i." "; 
        else $index = ""; 

        if ($existion_flag) $filename = $d; 
        else $filename = $name; 

        if (!$size_flag) $file_size = ""; 

        $body_line = '<p align="left"><small>'.$index.'<a href="'.$filename.'">'.$filename.'</a> '.$file_size.'</small></p>'; 


        if ( ( $index_per_page*$HTTP_SESSION_VARS["index_page"] <= $i-1 ) and ( $i <= $index_per_page + ($index_per_page)*$HTTP_SESSION_VARS["index_page"] ) ) 
          { $body = $body.$body_line; } 

        $i++; 
      } 
  } 

$navigation_bar = $navigation_bar_both; 
if ( $HTTP_SESSION_VARS["index_page"] <= 0 )    { $navigation_bar = $navigation_bar_forward;} 
if ( $HTTP_SESSION_VARS["index_page"] >= floor($i/$index_per_page) - 1 )    { $navigation_bar = $navigation_bar_back;}

    header ("Content-type: text/vnd.wap.wml"); 
    echo ($header.$body.$navigation_bar.$footer); 

?>


PM MAIL   Вверх
penizillin
Дата 11.4.2005, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Maks @ 11.4.2005, 14:34)
Но что-то в нем не работает.
вот только - что?..
PM MAIL ICQ   Вверх
Maks 2k
Дата 11.4.2005, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Скрипт должен лежать в папке например JPG. В этой папке должен быть файл type_file.dat с таким содержанием:
Код

<-- типы картинок --> 

bmp 
gif 
jpg 
png 

<-- типы мелодий --> 

mmf 
mid 
midi 
mp3 
wav 
wma 
amr 

<-- игры --> 

sis 
jad 
jar 

<-- типы текста -->

В этой папке JPG не должно быть никаких других папок, толко файлы *.jpg
PM MAIL   Вверх
penizillin
Дата 11.4.2005, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



и что?
PM MAIL ICQ   Вверх
Opik
Дата 11.4.2005, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Maks 2k
если
Цитата
Решил сделать вап-сайт php + mySQL

то, писать надо
WML + PHP + MySQL, вывод именно на WML.
PM MAIL Skype   Вверх
Maks 2k
Дата 12.4.2005, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извиняюсь! Немножечко неверно выразился. Вывод действительно на WML
PM MAIL   Вверх
Opik
Дата 12.4.2005, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Цитата
<p align="center"><a href="index.php?action=back">&lt;&lt;&lt;</a>&nbsp;<a href="index.php?action=forward">&gt;&gt;&gt;</a></p>

такого в WML уж точно нет.
PM MAIL Skype   Вверх
Maks 2k
Дата 13.4.2005, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все разобрался. Теперь работает. :-) Спасибо всем.
PM MAIL   Вверх
Любитель
Дата 25.7.2005, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



На засыпку: перейди в любую страницу, где есть >>> и щёлкни обновить. ИМХО не красиво.


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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