The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Создать новую тему
 - Свернуть нити
Пометить прочитанным
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |  
Форум WEB технологии
Копирование html кода из браузера юзера с отправкой на сервер, !*! momai, (HTML) 15-Окт-14, 09:09  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Google map +mysql +route, !*! evgeniy123, (MySQL) 11-Авг-16, 01:24  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Как перенаправить сайт по https c IIS на Apache сервер  , !*! lvlakcum, (Apache, http-серверы) 26-Июл-16, 13:41  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Denwer: wordpress: публикация в интtрернет: ошибка плагина Phot, !*! Maksim, (Apache, http-серверы) 25-Июл-16, 09:28  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Захват данных посетителей из vk и fb, !*! kyboxxx, (Поиск и настройка типовых скриптов) 10-Июн-15, 23:53  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]


Защита web-сервера от парсинга, !*! deatwisedog, (Apache, http-серверы) 07-Июл-16, 11:55  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
JQuery, DataTables - Draw не работает, зависает , !*! reno4, (JavaScript) 09-Июн-16, 15:27  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Помогите научиться разрабатывать web-карты, !*! CTW, (PHP) 17-Июн-14, 12:30  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Apache не отдавать ответ, !*! phizikpro, (Apache, http-серверы) 19-Янв-16, 23:10  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Не работает rewrite при наличии директории, !*! plated899, (Поиск и настройка типовых скриптов) 19-Янв-16, 18:35  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Реализация авторизации php+mysql+JS, !*! Сват, (PHP) 01-Дек-14, 17:51  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Родитель-Наследник-Родитель, !*! kvasik, (CSS) 10-Апр-13, 20:17  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Настройка сети VPN или другой способ обойти защиту сайта, !*! kyboxxx, (Разное) 12-Фев-14, 15:56  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Xsl Firefox, !*! Dmitry, (XML) 24-Фев-15, 16:52  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
ссылки 'previous' и 'next', !*! Дмитрий_ДК, (HTML) 25-Ноя-13, 10:41  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
  • echo a href date -d yesterday Y- m- d html yesterday a fileec, !*! erera22 (ok), 22:34 , 25-Ноя-13 (1)
    > Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-10-25.html),
    > эти файлы создаются автоматически(каждый день +1 новый файл)
    > как сделать в этих файлах были ссылки на следующий или предыдущий день
    > руками править каждый файл не вариант.

    echo "<a href=\"$(date -d yesterday '+%Y-%m-%d').html\">yesterday</a>" >> file
    echo "<a href=\"$(date -d tomorrow '+%Y-%m-%d').html\">tomorrow</a>" >> file

    сообщить модератору +/ответить
  • А, всё-таки, попробуем сделать это средствами HTML Ну, или, скажем, не только ср, !*! михалыч (ok), 17:18 , 26-Ноя-13 (8)
    > Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-1025.html),
    > эти файлы создаются автоматически(каждый день +1 новый файл)
    > как сделать в этих файлах были ссылки на следующий или предыдущий день
    > руками править каждый файл не вариант.

    А, всё-таки, попробуем сделать это средствами HTML.
    Ну, или, скажем, не только средствами HTML, но и средствами SSI и Perl.

    Итак, имеется сервер apache.
    Имеется директория (dir), в которой находятся постоянно генерируемые файлы вида YYYY-MM-DD.html
    Создаём в этой директории dir файл .htaccess с приблизительно следующим содержанием.


    AddType text/html .shtml .html
    AddHandler server-parsed .shtml .html
    Options +Indexes +FollowSymLinks +Includes

    Тем самым разрешаем работу SSI в этой директории.

    Создаём в директории /cgi-bin/ файл, обзовём его bname.pl


    #!/usr/bin/perl


    use strict;
    use warnings;
    use Time::Local;
    use POSIX qw(strftime);


    # получаем название открытого файла
    my $date = $ARGV[0];
    # вырезаем из него всё, кроме цифр и тире
    $date =~ s/[^\d-]//g;


    # сопоставляем дату вида YYYY-MM-DD с полученными оставшимися значениями
    my ($yyyy, $mm, $dd) = ($date =~ /(\d+)-(\d+)-(\d+)/);


    # переводим дату из вида YYYY-MM-DD в количество секунд с начала эпохи в unix формат (epochtime)
    my $curr_date_epoch = timelocal(0, 0, 0, $dd, $mm-1, $yyyy); # current date сегодняшняя дата
    my $next_date_epoch = $curr_date_epoch + 86400;              # next date следующий день
    my $prev_date_epoch = $curr_date_epoch - 86400;              # previous date предыдущий день


    # делаем обратное преобразование времени - из epoch переводим в формат YYYY-MM-DD
    my $curr_date = strftime "%Y-%m-%d", (localtime($curr_date_epoch));
    my $next_date = strftime "%Y-%m-%d", (localtime($next_date_epoch));
    my $prev_date = strftime "%Y-%m-%d", (localtime($prev_date_epoch));


    # выводим на печать в web
    print "Content-type: text/html\n\n";


    # рисуем табличку и заносим полученные значения
    print "<table width='100%' border='0'>\n";
    print "<tr>\n";
    print "<td align='left'><a href='$prev_date.html'>$prev_date</a></td>\n";
    print "<td align='center'>$curr_date</td>\n";
    print "<td align='right'><a href='$next_date.html'>$next_date</a></td>\n";
    print "</tr>\n";
    print "</table>";

    Изменяем уже готовые файлы в директории dir для работы с SSI.
    Для этого используем следующий скрипт


    #!/usr/bin/perl


    use strict;
    use warnings;


    # директория с генерируемыми файлами
    my $dir = "/usr/local/www/apache22/data/dir";
    my $file;


    opendir(DH, $dir) or die "Couldn't open $dir : $!";


    while($file = readdir (DH)) {
        next if $file =~ /^\.\.?$/;
        next if $file !~ /^(\d+)-(\d+)-(\d+)\.html$/;
        next if -d "$dir/$file";


        &mod($file);
    }


    closedir(DH);


    sub mod($) {
        open(FH, "+<", "$dir/$file") or die "Can't read $file: $!";


        my $out = '';


        # в цикле вырезаем HTML теги </body> и </html> с заменой
        # вместо них вставляем инклюд и заново эти же удалённые теги HTML
        while(<FH>) {
            s|</body>||;
            s|</html>|<!--#include virtual="/cgi-bin/bname.pl?\$DOCUMENT_NAME" -->\n</body>\n</html>|;
            $out .= $_;
        }


        seek(FH, 0, 0)         or die "Seeking: $!";
        print FH $out          or die "Printing: $!";
        truncate(FH, tell(FH)) or die "Truncating: $!";
        close(FH)              or die "Closing: $!";
    }

    Новые генерируемые файлы преобразуем с помощью следующего скрипта modern.pl


    #!/usr/bin/perl


    use strict;
    use warnings;
    use POSIX qw(strftime);


    my $tomorrow = strftime "%Y-%m-%d", (localtime(time-86400));
    my $file = "/usr/local/www/apache22/data/dir/$tomorrow.html";


    open(FH, "+<", $file) or die "Can't read $file: $!";


    my $out = '';


    while(<FH>) {
        s|</body>||;
        s|</html>|<!--#include virtual="/cgi-bin/bname.pl?\$DOCUMENT_NAME" -->\n</body>\n</html>|;
        $out .= $_;
    }


    seek(FH, 0, 0)         or die "Seeking: $!";
    print FH $out          or die "Printing: $!";
    truncate(FH, tell(FH)) or die "Truncating: $!";
    close(FH)              or die "Closing: $!";

    Если генерирование нового файла в директории dir заканчивается в 24:00,
    то по cron'у запускаем скрипт modern.pl каждую ночь в 1 час ночи.


    0       1       *       *       *       root    /path/to/modern.pl >/dev/null 2>&1

    В результате в новых файлах (как и в старых) в конце файла будет добавлена строка

    <!--#include virtual="/cgi-bin/bname.pl?$DOCUMENT_NAME" -->

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

    +--------------+--------------+--------------+
    |  2013-11-24  |  2013-11-25  |  2013-11-26  |
    +--------------+--------------+--------------+

    левые и правые даты - соответствующие ссылки.
    Такие дела.
    сообщить модератору +/ответить
  • как насчёт варианта с dom document url js -- тогда выйлы вообще не придётся ка, !*! pavel_simple (ok), 18:07 , 26-Ноя-13 (9)
    > Всем привет, имеется папка с кучей файлов вида yyyy-mm-dd.html например (2013-10-25.html),
    > эти файлы создаются автоматически(каждый день +1 новый файл)
    > как сделать в этих файлах были ссылки на следующий или предыдущий день
    > руками править каждый файл не вариант.

    как насчёт варианта с dom document url + js -- тогда выйлы вообще не придётся калечить


    сообщить модератору +/ответить
Из своего HTML убираю 'IE6' поддержку. Что скажете против?, !*! Af., (Особенности web-браузеров) 23-Ноя-12, 16:33  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Кеширование статики средствами apache, !*! ALex_hha, (Apache, http-серверы) 26-Апр-16, 17:34  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
websocket(серверная часть - perl), !*! Booker, (Perl) 11-Июл-13, 09:07  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Отключение ssl для url'a, !*! fire002, (nginx) 19-Апр-16, 18:45  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]


Разрешить доступ в директорию либо IP, либо по паролю, !*! Assoll, (.htaccess, паролирование) 19-Апр-16, 10:10  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
ИЗ PDF В HTML, !*! ben, (PHP) 26-Дек-14, 16:01  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
facebook get user friend list, !*! handler2006, (JavaScript) 07-Апр-13, 23:12  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
php 5.2 на centos 6.3, !*! alexs.scripa, (PHP) 08-Фев-16, 19:10  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
nginx   open socket #106 left in connection , !*! peering, (nginx) 30-Мрт-16, 17:27  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Проверка наличия файла nginx, htaccess, php, !*! bobadd, (Apache, http-серверы) 28-Мрт-16, 18:23  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
htaccess Редирект с 'без www' на www, !*! bobadd, (Apache, http-серверы) 29-Окт-15, 14:47  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]


Apache+PHP, !*! Ajavrik, (PHP) 29-Май-14, 14:52  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
RewriteRule, !*! Макарыч, (.htaccess, паролирование) 25-Фев-16, 07:34  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Скрипт php не работает с вложенными папками., !*! Владислав, (PHP) 20-Фев-16, 17:07  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
Как сделать прокси для сайта?, !*! Victor, (Построение хостинга) 28-Апр-14, 15:46  [ | | | ] [линейный вид] [смотреть все] [раскрыть новое]
 
Пометить прочитанным Создать тему
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Архив | Избранное | Мое | Новое | | |



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру