Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.203.0] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Если Вы хотите что-либо добавить или Вам что-либо не нравится - пишите сюда
Функция инициализирования переменной Язык: РНР Автор: Rom@nych Функция инициализирует переменную из данных GET, POST запроса или берёт её из сессионных данных. Принимает два параметра. Первый - строка - имя переменной, второй - значение, которое передастся переменной в случае, если она не может быть найдена. По умолчанию пустая строка. Пример вызова: ini('action', 'none') При выборе массива идёт проверка в следующем порядке $_POST, $_GET, $_SESSION Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлini.php (0.61 Кбайт, скачиваний: 1293) |
Сообщ.
#2
,
|
|
|
Mailpost Server
Скрипт для отправки файлов по почте непосредственно из интернета. Язык: PHP (серверная часть), Free Pascal (клиентская) Автор: Trustmaster & Argentum Скрипт полезен в том случае, если вы имеете почтовый ящик с неограниченным трафиком. Серверный скрипт располагается на вашем хостинге и предоставляет форму, в которой вы вводите URL нужного файла. После этого файл будет отправлен на ваш e-mail. Если размер файла превышает определенный лимит (по умолчанию 4МБ), он будет отправлен по частям, соединить которые можно при помощи клиентской программы. Подробную инструкцию читайте в README. Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлmailpost.zip (19.77 Кбайт, скачиваний: 1323) |
Сообщ.
#3
,
|
|
|
Функция создания Pages Bar
Язык: PHP Автор: Kheor aka DUKe исправлены ошибки: 24/10/2007. Отдельное и больше спасибо Лёхе Функция создает что-то типа оглавления когда нужен постраничный вывод, например, у нас есть 23 страницы и выбрана 11ая страница (номер страницы передается методом get, параметром page). Тогда, чтобы создать оглавление вызываем: echo generatePagesBar(11, 23, "<a href='%PARAM_PAGE%'>%PARAM_PAGE%</a> "); В результате имеем: <a href = 'http://www.someplace.ru/somepage.php?page=1'>1</a>, <a href = 'http://www.someplace.ru/somepage.php?page=2'>2</a>, <a href = 'http://www.someplace.ru/somepage.php?page=3'>3</a> ... <a href = 'http://www.someplace.ru/somepage.php?page=10'>10</a>, <a href = 'http://www.someplace.ru/somepage.php?page=11'>11</a>, <a href = 'http://www.someplace.ru/somepage.php?page=12'>12</a> ... <a href = 'http://www.someplace.ru/somepage.php?page=21'>21</a>, <a href = 'http://www.someplace.ru/somepage.php?page=22'>22</a>, <a href = 'http://www.someplace.ru/somepage.php?page=23'>23</a> Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлpagesBar_update.zip (0.77 Кбайт, скачиваний: 1157) |
Сообщ.
#4
,
|
|
|
Плагин для системы Smarty
Язык: РНР Автор: Rom@nych Тип: modifier Этот модификатор позволяет подсвечивать ссылки в тексте. Возможности: поиск всех ссылок в тексте на сайты и e-mail'ы. если в ссылке указан хост сайта, то он будет открыт в новом окне, иначе - в том же. Также принимает аттрибут extras, который позволяет вставлять в ссылку доп. аттрибуты. Использование: {$var|hrefs:'class="link"'} Установка: скопировать файл в каталог plugins системы Smarty Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлmodifier.hrefs.php (1.48 Кбайт, скачиваний: 1222) |
Сообщ.
#5
,
|
|
|
Безопасные Сессии
Замещенный механизм, хранящий данные сессии в БД. Язык: PHP Автор: Trustmaster Слабость стандартного механизма сессий PHP заключается в том, что сами данные сессии хранятся в виде файлов, доступных для чтения и записи любому желающему. Скрипт session_thief.php наглядно показывает, как эти данные можно извлечь. PHP позволяет замещать многие из его механизмов. Данный вариант замещенного механизма сессий PHP использует базы данных. Таким образом, вы можете создать единую таблицу для всех сессий в системе, но лучше, чтобы каждый сайт имел собственную таблицу сессий, что обеспечит большую конфиденциальность и даст вам дополнительные возможности. Например, вы сможете с легкостью узнать, сколько пользователей находятся в режиме OnLine, просто подсчитав количество валидных записей в таблице. Кроме того, вы сами можете модифицировать этот механизм под свои нужды, добавив, например, промежуточное шифрование данных (что не есть обязательно, если вы не раздаете свой пароль от mySQL каждому встречному-поперечному). Кроме того, этот вариант использует библиотеку SQLDB, поэтому он будет работать на MySQL, MSSQL и PostgreSQL. Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлsessions.zip (6.7 Кбайт, скачиваний: 1295) |
Сообщ.
#6
,
|
|
|
Коллектор ТВ-программ
Автор: Tishaishii А это затравка для разработки менеджмента телепрограммами. Подворовываются с www.rambler.ru. Жаль, только ресурсы кушает много (зато один раз на всю неделю), но без этого никак. Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлtv.zip (38.92 Кбайт, скачиваний: 1245) |
Сообщ.
#7
,
|
|
|
Программа кружка про создание www-приложений. Тема: "Базовые конструкции языка программирования Perl".
Автор: Tishaishii Решил в институте открыть кружок "Золотая, смелая и умелая клавиатура, да гибкие пальчики" или "Бодрая мышка с нарушкой" про www-мастерство. Декан одобрил и деньги предложил. Идея хорошая. Вот здесь (в пакетике) материалы по нему самому (по кружку "Золотая, смелая и умелая клавиатура, да гибкие пальчики"). Краткое описание 13 лекционных занятий и 13 практических. Курс только по возможностям самого языка. Про модули пока ничего не придумал. В целях курса не было обучение системных администраторов, но предъявить возможности и тонкости языка. Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файл______.zip (151.97 Кбайт, скачиваний: 1221) |
Сообщ.
#8
,
|
|
|
SQLDB Class Library v.1.3.11
Объектно ориентированный подход к работе с базами данных. Автор: Trustmaster Язык: PHP4 Вам может показаться громоздким и нелогичным такой подход, но как показывает реальность, большинство серьезных проектов на PHP придерживаются именно объектно ориентированной методологии, в том числе и при работе с базами данных. Основная направленность таких классов - оградить разработчика от технических деталей. Полиморфизм позволяет использовать один и тот же код для разных баз данных. Данная библиотека предоставляет полиморфные классы для баз данных: В комплект поставки входит документация. Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлsqldb.zip (50.32 Кбайт, скачиваний: 1234) |
Сообщ.
#9
,
|
|
|
FTP Class
Расширенный драйвер FTP для PHP Автор: Trustmaster Язык: PHP4 Этот класс предоставляет удобную объектно-ориентированную оболочку для стандартных FTP-функций PHP. Кроме того, он содержит методы, позволяющие производить более сложные операции (к примеру, закачка целой папки рекурсивно) и работать с файлами удаленно (чтение/запись). Некоторые методы позволяют вам не вникать в тонкости протокола FTP, другие наоборот, позволяют работать с FTP сервером напрямую. В комплект поставки входит документация по классу. Ждем с нетерпением стабильного PHP5, который несет с собой новые возможности работы с FTP. Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлftp.zip (26.33 Кбайт, скачиваний: 1220) |
Сообщ.
#10
,
|
|
|
XTPL Template Engine
Компактный и удобный интерпретирующий шаблонный движок. Автор: Trustmaster. Язык: PHP4. Никто не оспаривает непревзойденные возможности Smarty - лучшего шаблонного движка для PHP. Но во многих случаях использовать Smarty - как стрелять из пушки по воробьям. Выходит, что 99% скриптов составляет сам шаблонный движок. В основе XTPL лежит немного иной принцип. Если Smarty компилирует шаблоны во временные PHP-скрипты, то XTPL - классический интепретатор. Кроме того, XTPL взаимодействует с PHP напрямую. Так, вы можете присвоить значение переменным частного сектора (видимым только из шаблонов) традиционным методом Assign(), а можете не делать этого, а работать напрямую с глобальной областью видимости вашего скрипта. При построении логических выражений и условий циклов используется синтаксис PHP. Вот некоторые ключевые аспекты XTPL: Что касается производительности, то XTPL почти не уступает Smarty в скорости выполнения программы, а при использовании на сервере Zend Optimizer выигрывает 5-40%. В качестве теста был использован шаблон, содержащий два десятка переменных для подставновки и пару логических ветвлений. Конфигурация: Athlon XP 2800+, Apache 2.0.49 + PHP 4.3.8 + Zend Optimizer. Сначала был первый запуск скриптов (компиляция шаблонов Smarty и оптимизация промежуточного кода Zend Optimizer'ом), после чего скрипты были перезапущены по 12 раз. Среднее время выполнения составило соответственно: Цитата Smarty XTPL --------------------------- 0.04824 0.02907 В комплект поставки входит документация по классам и обучение по конструкциям (Tutorial). Это сообщение было перенесено сюда или объединено из темы "Наша лаборатория" Прикреплённый файлxtpl.zip (45.59 Кбайт, скачиваний: 1224) |
Сообщ.
#11
,
|
|
|
Абстрактный класс "Object" для быстрого создания пакетов с поддержкой методов:
события:package Object; use subs qw'before after'; use overload '""'=>'___str___', '~'=>'DESTROY'; sub __new__ { my($class, $self)=(shift, {@_}); bless $self, $class; $self->after_new; +$self } sub __check__ { my$self=shift; my$val=pop; my$var=$self->__get__(@_); $$var=$val unless defined$$var; +$var } sub __def__ {+defined shift->Get(@_)} sub __set__ { my$self=shift; my($val, $attr)=(pop, $self->__get__(@_)); $self->before_set; $$attr=$val; $self->after_set; +$attr } sub __get__ { my$self=shift; my($result, $self_ref, $ref)=(\$self, ref$self); $result=do{ $ref=ref$$result; if($ref eq 'HASH' or $ref eq $self_ref) { +\$$result->{$_} } elsif($ref eq 'ARRAY') { +\$$result->[$_] } else { return undef } } foreach @_; +$result } sub __del__ { my$self=shift; my$last=pop; my($result, $self_ref, $ref, $ret)=(\$self, ref$self); $result=do{ $ref=ref$$result; if($ref eq 'HASH' or $ref eq $self_ref) { +\$$result->{$_} } elsif($ref eq 'ARRAY') { +\$$result->[$_] } else { return undef } } foreach @_; +do{ $ref=ref$$result; if($ref eq 'HASH' or $ref eq $self_ref) { +delete$$result->{$last} } elsif($ref eq 'ARRAY') { $ret=$$result->[$last]; @$$result=@$$result[0..$last-1, $last+1..$#$$result]; +$ret } else { $ret=$$result; undef$$result; +$ret } } } sub ___str___ { use Data::Dumper; +Dumper shift } sub __after__ {+@_} sub __before__ {+@_} sub __CORE__::Object::AUTOLOAD { my$self=shift; my($package)=$AUTOLOAD=~/^(.+)::(.+)$/o or return undef; index $2, '__' or die ':)Can\'t locate method '.$2.' in package '.__PACKAGE__; my($function, @args)=split '_', $2; my@result=$self->${\('__'.lcfirst($function).'__')}(@args, @_); if($function=~/^[A-Z]/o) { $result[0]=${$result[0]} while ref$result[0] eq 'SCALAR' || ref$result[0] eq 'REF'; } +wantarray?@result:$result[0] } sub DESTROY {undef $_[0]} +1; __END__ =head1 NAME Object - Provides abstract object class =head1 VERSION This document describes version 1.0 of Object.pm module, released Jan 08, 2005. =head1 SYNOPSIS package My::Package; use base 'Object'; # methods "new", "set", "get" and their aliases # are defined, place here your other methods, # vars, constants, etc. package main; $obj=new My::Package( size=>{ b=>'c', d=>'e', c=>{ 't'=>'w' } }, weight=>[ 12, { z=>'r' } ] ); $z=$obj->set_weight_1_z('f'); # returns \$obj->{weight}[1]{z}{f} print $obj->Set_size_w({ 't'=>'z', 'y'=>'x' })->{t}; # prints 'z' $c=$obj->get_size('c'); # returns \$obj->{size}{c} print $$c->{t}; # prints 'w' $$c={11=>12}; print $obj->Get_size_c_11; # prints '12' $c=$obj->Get_size_c->{t}; # returns $obj->{size}{c}{t} print int $obj->def_color; # checks if key 'color' is defined $obj->check_color('red'); # sets value 'red' on key 'color' # if it's not defined =head1 DESCRIPTION =head1 METHODS =over 4 =item ___str___ Returns a string, which was generated by L<Data::Dumper> from data stored in object =back =head1 AUTHOR Shatrov Alexey mail@yandex.ru Copyright (c) 2005 Shatrov Alexey. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut |
Сообщ.
#12
,
|
|
|
Класс "Hash"
Переопределение хэш-массива для работы с нечёткими ключами. Автор: Tishaishii. Язык: Perl. POD-описание внутри. Прикреплённый файлHash.rar (1.98 Кбайт, скачиваний: 1168) |
Сообщ.
#13
,
|
|
|
Универсальный преобразователь текстовых документов RXParser 2.0
Модуль RXParser создан для преобразования текстовых документов с использованием шаблонов. Для использования этого модуля вам потребуется версия Perl 5.6.x. Что нового? Версия 2.0: 1. Классы пакета RXParser разложены по файлам с возможностью единообразной загрузки из любого класса пакета: Filter Rules Template Parser Wizard 2. Добавлен класс RXParser::Wizard, работающий со всеми классами пакета (Rules, Template, Parser, Filter). 3. Упрощена работа с модулями. Основной модуль RXParser контролирует загрузку прочих модулей. Версия 1.7125: 1. Ускорена загрузка правил. Добавлена возможность сохранения отпарсенных правил разбора и сборки в отдельный файл с возможностью загрузки. 2. Исправлена ошибка несовместимости версии 1.6001. Теперь RXParser 1.7125 работает для разных платформ одинаково. 3. Дополнительно оптимизирован код модуля. Версия 1.6001: 1. Введено пространство префиксов - в будущих версиях возможно появление дополнительных возможностей управления выводом, таких как итератор в текущей версии. 2. Дополнительно оптимизирован код модуля. Версия 1.6: 1. Полностью переписан движок для записи шаблонов. Теперь процесс форматирования выходных документов происходит много быстрее и стал ещё менее требователен к ресурсам. 2. Включена поддержка кроссплатформенной блокировки файлов. 3. Дополнительно оптимизирован код модуля. Это сообщение было перенесено сюда или объединено из темы "Обсуждение FAQ-ов" Прикреплённый файлRXParser.2.0.zip (155.29 Кбайт, скачиваний: 1229) |
Сообщ.
#14
,
|
|
|
Утилита Str2Rex v0.98b - помогает преобразовывать пару строк в
регулярное выражение. Мануал: Str2Rex v0.98b util - simply converts two strings to RegExp This util based on the classic LCS algorithm. ------------------------------------------------------------------- Usage: perl str2rex.pl -in=in.txt -out=out.txt perl str2rex.pl -in=in.txt -out=out.txt -locale=on perl str2rex.pl in=in.txt out=out.txt locale=off -join=(.+?) Arguments: -in - Input file path. -out - Output file path. -locale - Switches on/off using locale. -join - Use this argument to set variable part of the resulting RegExp. Default value is (.*?) Example: Meaning, input file contains two strings and have following Perl syntax: # file "in.txt" #----------------------------------------------------------------- # The beginning of input file + [<<'-- DELIMETER 1 --', <<'-- DELIMETER 2 --']; This! is the "first string! -- DELIMETER 1 -- This is> the "second string -- DELIMETER 2 -- # The end of input file #----------------------------------------------------------------- Then enter at your command line following commands: perl str2rex.pl -in=in.txt -out=out.txt As result you have something like: This(.*?)\ is(.*?)\ the\ \"(.*?)s(.*?)\ string ------------------------------------------------------------------- Shatrow Aleksey <cdch@yandex.ru> Krasnodar, 28.03.2005 ------------------------------------------------------------------- Это сообщение было перенесено сюда или объединено из темы "Обсуждение FAQ-ов" Прикреплённый файлstr2rex.zip (2.4 Кбайт, скачиваний: 1224) |
Сообщ.
#15
,
|
|
|
Класс для упрощения работы с БД MySQL
Язык: PHP Автор: aGR В классе 3 функции: 1) Соединение с сервером и выбор БД 2) SQL запрос к БД с отслеживанием ошибок 3) Демонстрация содержимого результата запроса в виде HTML таблицы Это сообщение было перенесено сюда или объединено из темы "Обсуждение FAQ-ов" Прикреплённый файлmysql.rar (0.63 Кбайт, скачиваний: 1310) |