Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.03.2010, 09:32
|
|
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме: 1455812
Репутация:
150
|
|
Сообщение от Compton
есть форма ввода названия
сайт-донор уже спарсен на названия и ссылки
туда вводишь название песни и показывается список такого типа
1.Joy Division-The Kill
2.Napalm Death-The Kill
3.Better Than Ezra-The Killer Inside
4.Alice In Chains-The Killer Is Me
5.Insane Clown Posse-The Killing Fields
нужно сделать так,чтобы при вводе номера песни в эту же форму, скрипт шел на ссылку(которую спарсили раньше,которая своя для каждой песни) и парсил текст песни) регулярку напишу сам
Короче не понятно, что ты написал, что значит форма в твоем случае, НО. Осмелюсь предположить, что в твоем случае
то выглядет так:
PHP код:
<form method='post'>
<input type='text' name='variable' size='50' value=' Сюда название песни ' />
<input type='submit' value='Искать' />
</form>
<?php
if(isset($_POST['variable'])) {
// Тут ты делаешь какие-то манипуляции над variable (название песни) , а именно получаешь с некого сайта
//список этих песен и выводишь их, а потом хочешь, чтобы в поле куда вводили название,
//вводить номер из списка, и грабить текст...
}
?>
Если я правильно понял, то попробую привести тебе похожий пример:
(написал только что)
Короче он грабит 10 результатов поиска http://pesni.ru и по кнопке грабит текст песни. Думаю аналагично твоей нужде
PHP код:
<?php
# Super Chords Grabber MotherFucker v1.0 epta. by shkolololo
if(!isset($_GET['action'])) {
echo "
<form action = '".$_SERVER['SCRIPT_NAME']."?action=get_list' method='post'>
<input type='text' name='variable' size='50' value=' Сюда что искать ' />
<input type='submit' value='Искать' />
</form>
";
}else {
echo "<a href='".$_SERVER['SCRIPT_NAME']."'> Новый поиск </a><br />";
switch($_GET['action']) {
case "get_list":
if(isset($_POST['variable'])) {
// Тут я ворую результат поиска
$search_site = "http://www.pesni.ru/search_result.shtml?terms=".trim(str_replace(" ","+",$_POST['variable']))."&case=Insensitive&boolean=AND";
$search_site_result = file_get_contents($search_site);
if(preg_match_all('#<font size="3">(.*)</font>.+<a href="(.*)">#isU',$search_site_result,$step_result)) {
for($i=0;$i<count($step_result[1]);$i++) {
echo "<b>".$step_result[1][$i]."</b>
<form action = '".$_SERVER['SCRIPT_NAME']."?action=get_text' method='post'>
<input type='hidden' name='variable' value='".$step_result[2][$i]."' /><input type='submit' value='Покажи текст этой песни' /></form>
<br />
";
// Тут на выводе формируется форма, которая отправляет адрес текста песни, для дальнейшего парсинга
}
}else echo "Нихрена ничего не нашлось :(";
}
break;
case "get_text":
//Тут воруем текст песни
if(isset($_POST['variable'])) {
$search_site_result = file_get_contents($_POST['variable']);
if(preg_match("#<center><h1>(.*)</h1>.+<pre>(.*)</pre>#isU",$search_site_result,$result)) {
echo "<h1>$result[1]</h1><pre>$result[2]</pre>";
}else echo "Чета не могу прочитать :(";
}
break;
default: echo "Ты ошибся командой епта"; break;
}
}
?>
|
|
|

17.03.2010, 13:38
|
|
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
Провел на форуме: 147171
Репутация:
2
|
|
Подскажите пожалуйста скриптик, который бы определял рамеры картинкаи, и если они больше 240х320, то уменьшал бы её, а если меньше, то растягивал.
|
|
|

17.03.2010, 14:14
|
|
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме: 2101094
Репутация:
672
|
|
Сообщение от Qb1024
Подскажите пожалуйста скриптик, который бы определял рамеры картинкаи, и если они больше 240х320, то уменьшал бы её, а если меньше, то растягивал.
используй функцию getimagesize
http://php.su/functions/?getimagesize
|
|
|

17.03.2010, 14:27
|
|
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
Провел на форуме: 147171
Репутация:
2
|
|
Сообщение от Konqi
используй функцию getimagesize
http://php.su/functions/?getimagesize
а как сделать ресайз?
|
|
|

17.03.2010, 14:34
|
|
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме: 2101094
Репутация:
672
|
|
Сообщение от Qb1024
а как сделать ресайз?
http://devels.ru/files/img_resize.zip
|
|
|

17.03.2010, 14:35
|
|
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме: 1455812
Репутация:
150
|
|
Сообщение от Qb1024
а как сделать ресайз?
PHP код:
<?php
function resizeimg($filename, $smallimage, $w, $h)
{
// Имя файла с масштабируемым изображением
// $filename = "../".$filename;
// Имя файла с уменьшенной копией.
// $smallimage = "../".$smallimage;
// определим коэффициент сжатия изображения, которое будем генерить
$ratio = $w/$h;
// получим размеры исходного изображения
$size_img = getimagesize($filename);
// Если размеры меньше, то масштабирования не нужно
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
// получим коэффициент сжатия исходного изображения
$src_ratio=$size_img[0]/$size_img[1];
// Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились
// пропорции исходного изображения
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
// создадим пустое изображение по заданным размерам
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);
// масштабируем изображение функцией imagecopyresampled()
// $dest_img - уменьшенная копия
// $src_img - исходной изображение
// $w - ширина уменьшенной копии
// $h - высота уменьшенной копии
// $size_img[0] - ширина исходного изображения
// $size_img[1] - высота исходного изображения
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
// сохраняем уменьшенную копию в файл
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
// чистим память от созданных изображений
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
#use: resizeimg('file', 'file', 600, 450); //x - 600; y - 450
?>
|
|
|

17.03.2010, 14:36
|
|
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
Провел на форуме: 147171
Репутация:
2
|
|
Спасибо, попробую разобраться!
|
|
|

17.03.2010, 14:38
|
|
Постоянный
Регистрация: 24.06.2009
Сообщений: 542
Провел на форуме: 2101094
Репутация:
672
|
|
function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $proportion=false, $quality=100) {
if(!file_exists($src)) return false;
$size = getimagesize($src);
if($size === false) return false;
if($proportion === true) {
$h0 = $height;
$height = ($width/$size[0])*$size[1];
if($height > $h0) { $height = $h0; $width = ($height/$size[1])*$size[0]; }}
if($width > $size[0]) $width = $size[0];
if($height > $size[1]) $height = $size[1];
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
$icfunc = 'imagecreatefrom'.$format;
if(!function_exists($icfunc)) return false;
$x_ratio = $width/$size[0];
$y_ratio = $height/$size[1];
$ratio = min($x_ratio, $y_ratio);
$use_x_ratio = ($x_ratio == $ratio);
if($use_x_ratio) { $new_width = $width; $new_left = 0; }
else { $new_width = floor($size[0] * $ratio); $new_left = floor(($width - $new_width) / 2); }
if(!$use_x_ratio) { $new_height = $height; $new_top = 0; }
else { $new_height = floor($size[1] * $ratio); $new_top = floor(($height - $new_height) / 2); }
$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);
if(is_array($dest)) {
$nd = explode('.', $src);
$ndc = count($nd);
$nd[$ndc - 2] .= $dest[0]; $dest = implode('.', $nd); }
imagefill($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);
imagejpeg($idest, $dest, $quality);
imagedestroy($isrc);
imagedestroy($idest);
return $dest;
}
|
|
|

17.03.2010, 14:41
|
|
Участник форума
Регистрация: 15.07.2009
Сообщений: 200
Провел на форуме: 147171
Репутация:
2
|
|
Огромное спасибо!
Скрипт отличный и делает как раз то, что надо!
|
|
|

17.03.2010, 18:36
|
|
Познающий
Регистрация: 29.05.2009
Сообщений: 55
Провел на форуме: 807573
Репутация:
7
|
|
=( не могу понять в чём дело
setcookie("cookie", "bla", time() +3600); - так не работает
setcookie("cookie","bla"); - так работает
хотя на локалке и так и так работает =( не пойму в чём дело
Последний раз редактировалось Dark_cracker; 17.03.2010 в 18:39..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|