А мне стричься нравится Если в хорошем салоне, где голову два раза помоют, массаж сделают и все такое К мужчинам парикмахерам, к счастью, не попадал пока, да и не собираюсь У меня одна проблема - пока меня стригут, мне так хорошо, уютно и приятно становится, что я постоянно засыпаю
Я видел надпись Welcome to Nginx! И она исчезла)) Совсем нету баннера Оо upd. Ааа...эта надпись преследует меня на всех страничках http://google.com/ !Не могу гуглить -(( upd. Oo http://google.com/ теперь редиректит на моего провайдера... upd. Не вижу картинки на Яндексе! Видимо, что-то случилось... Вот как мои дела... upd. Теперь google и wikipedia и ещё несколько сайтов у меня - 404 Not Found спасибо топикстарету, за эту тему! upd. Хаха! Я вышел через прокси! Хаха! Я имею гугл! И снова вижу баннер php.ru ^_^
Еще один изврат-скрипт: PHP: <?php /* Generated by [vs] 03.11.2008/* /* Монохромный GIF в таблицу. Теперь Ваши картинки увидят даже пользователи с отключеной графикой! :D Экономично - получаемый HTML-файл иногда весит в 1000 раз больше оригинала! */ function GenerateTableFromImage ($file,$hr=1,$vr=1) { $matrix=null; $symbol_id=1; $symbols=array('%00','%01'); $table_cells=array("<td bgcolor=#000000 width={$hr} height={$vr}></td>", "<td bgcolor=#FFFFFF width={$hr} height={$vr}></td>"); $resurce=imagecreatefromgif($file) or die('Подавился неправильным форматом'); $width=imagesx($resurce); ob_start(); imagegd($resurce); $image=ob_get_clean(); for($i=0;$i<strlen($image);$i++) { if ($i>1036) { //Зачем нужны эти байты вначале - не разобрался if ($symbol_id==$width) { $symbol=urlencode($image[$i])."\r\n"; $matrix.=$symbol; $symbol_id=1; } else { $symbol=urlencode($image[$i]); $matrix.=$symbol; $symbol_id++; } } } $result="<table cellspacing=0 cellpadding=0><tr>"; $result.=str_replace("\r\n","</tr><tr>",$matrix); $result=str_replace($symbols,$table_cells,$result); $result.='</table>'; return $result; } function SendFile ($file,$filename) { header('Content-Type: application/octet-stream'); header('Content-Length: '.strlen($file)); header('Content-disposition: attachment; filename="'.$filename.'"'); echo $file; } if (!empty($_FILES)) { $table=GenerateTableFromImage($_FILES['image']['tmp_name'],$_POST['hr'],$_POST['vr']); SendFile($table,$_FILES['image']['name'].'.html'); exit; } ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data" target="_blank"> Монохромная GIF-Картинка:<br> <input type="file" name="image"><br> Масштаб: X<input type="text" size="1" value="1" name="hr"> Y<input type="text" size="1" value="1" name="vr"><br> <input type="submit" value="Сгенерировать"> </form>
PHP: <?php function get_to_sql($name, $array) { return array_key_exists($name, $array) ? is_numeric($array[$name]) ? $array[$name] : '' === trim($array[$name]) ? NULL : mysql_real_escape_string( get_magic_quotes_gpc() ? stripslashes($array[$name]) : $array[$name] ) : NULL; } ?>
Новая версия GIF-to-HTML, теперь с оптимизацией таблицы. Т.е. идущие подряд ячейки одного цвета объеденяются в одну. Типичная картина 640х480 весит в 12 раз меньше, чем без оптимизации! Скрипт питается только двухцветным GIF. PHP: <?php /* Generated by [vs] 03.11.2008 */ /* Монохромный GIF в таблицу 2.0 Теперь Ваши картинки увидят даже пользователи с отключеной графикой! :D Экономично - получаемый HTML-файл иногда весит в 100 раз больше оригинала! */ function SendFile ($file,$filename) { header('Content-Type: application/octet-stream'); header('Content-Length: '.strlen($file)); header('Content-disposition: attachment; filename="'.$filename.'"'); echo $file; } function GenerateTableFromImage ($file,$hr=1,$vr=1) { $matrix=null; $symbol_id=1; $symbols=array('%00','%01'); $template="<td bgcolor=%1\$s width=%2\$s height={$vr} colspan=%3\$s> </td>"; $template2="<td bgcolor=%1\$s width=%2\$s height={$vr}> </td>"; $resurce=imagecreatefromgif($file) or die('Подавился неправильным форматом'); $width=imagesx($resurce); ob_start(); imagegd($resurce); $image=ob_get_clean(); for($i=0;$i<strlen($image);$i++) { if ($i>1036) { if ($symbol_id==$width) { $symbol=urlencode($image[$i])."\r\n"; $matrix.=$symbol; $symbol_id=1; } else { $symbol=urlencode($image[$i]); $matrix.=$symbol; $symbol_id++; } } } $matrix=str_replace("\r\n","</tr><tr>",$matrix); $matrix_arrya=explode("</tr><tr>",$matrix); /* Оптимизация таблицы */ foreach ($matrix_arrya as $mn=>$line) { if (empty($line)) { continue; } $first=$line[2]=='0'?'black':'white'; $black=explode('%01',$line); $white=explode('%00',$line); foreach ($black as $v) { if (!empty($v)) $newblack[]=$v; } foreach ($white as $v) { if (!empty($v)) $newwhite[]=$v; } $black=!empty($newblack)?$newblack:array(); $white=!empty($newwhite)?$newwhite:array(); unset($newblack); unset($newwhite); foreach ($black as $n=>$element) { $len=strlen($element)/3; $black[$n]=sprintf($len>1?$template:$template2,'#000000',$len*$hr,$len); } foreach ($white as $n=>$element) { $len=strlen($element)/3; $white[$n]=sprintf($len>1?$template:$template2,'#FFFFFF',$len*$hr,$len); } if ($first=='white') { foreach ($white as $n=>$cell) { $temp[]=$cell; if(isset($black[$n])) { $temp[]=$black[$n]; } } } else { foreach ($black as $n=>$cell) { $temp[]=$cell; if(isset($white[$n])) { $temp[]=$white[$n]; } } } $temp=implode(null,$temp); /* Оптимизация таблицы кончилась */ $matrix_arrya[$mn]=$temp; unset($temp); } $matrix=implode('</tr><tr>',$matrix_arrya); $result="<table cellspacing=0 cellpadding=0><tr>"; $result.=$matrix; $result.='</table>'; return $result; } if (!empty($_FILES)) { $table=GenerateTableFromImage($_FILES['image']['tmp_name'],$_POST['hr'],$_POST['vr']); SendFile($table,$_FILES['image']['name'].'.html'); exit; } ?> <form action="<?=$_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data" target="_blank"> Монохромная GIF-Картинка:<br> <input type="file" name="image"><br> Масштаб: X<input type="text" size="1" value="1" name="hr"> Y<input type="text" size="1" value="1" name="vr"><br> <input type="submit" value="Сгенерировать"> </form> Я вот что подумал - а ведь напечатаные таким методом циферки - это офегительная мега-каптча?!
Kreker Этот код кстати и не работает нормально (не защищает от того от чего должен) Сейчас использую в своей гостевухе укороченную версию PHP: <?php function text2sql($name, $array) { return !array_key_exists($name, $array) || '' === trim($array[$name]) ? NULL : mysql_real_escape_string( get_magic_quotes_gpc() ? stripslashes($array[$name]) : $array[$name] ); } ?>
Несколько лет назад, когда сам не мог написать, искал готовую. Кругом один шит был. Прошло время, сделал себе сайт, поискал гостевые (ради интереса), а ситуация все та же. Думаю, напишу гостевую и выложу на сайте -- и на тебе! На форуме сразу тройка-четверка их появилась!
Именно по этому я с них начинал, просмотрел десятки а может и сотни, ни одной не было достойной. (Моими критериями к хорошей гостевой всегда были безопасность, сохранность приходящих данных, удобная шаблонизация, валидный HTML/XHTML код) Всё что я находил это кучу поделок - с дырявой регистрацией пользователей (никому не нужной) - конструкциями типа echo "<фиг вам="вася">траляля" - фильтрацией любого кода (даже не запостить ничего где теги есть)
Я щас тоже одну такую выставил (точнее она бы не плохая была, если бы добавить капчу и убрать танцы с постраничной разбивкой, тот момент надо серьёзно переделать, просто написал этот фрагмент за 3 минуты чисто проверить кое что)