Upload

astor

Registered
Кажете ми някакво скриптче за качване на снимки но след като се качи да се намаля размера на снимката без да се разваля формата на снимката.

Благодаря ви
 
asteryx каза:
Кажете ми някакво скриптче за качване на снимки но след като се качи да се намаля размера на снимката без да се разваля формата на снимката.

Благодаря ви

Как да се намалява размера ? :shock:То като я качил просто я отваряш през някакъв линк. А как ще я показва в сайта е друк въпрос.
 
iwanov каза:
asteryx каза:
Кажете ми някакво скриптче за качване на снимки но след като се качи да се намаля размера на снимката без да се разваля формата на снимката.

Благодаря ви

Как да се намалява размера ? :shock:То като я качил просто я отваряш през някакъв линк. А как ще я показва в сайта е друк въпрос.



http://web-tourist.net/login/login/view.php?st=800
 
златен си админ

знаеш ли в кой файл да сложа нещо в форума за да се вижда само от регнати или в headera ама само от регнати да се вижда
 
asteryx каза:
златен си админ

знаеш ли в кой файл да сложа нещо в форума за да се вижда само от регнати или в headera ама само от регнати да се вижда

Знам.
Какво точно искаш да направиш?
 
Кажете ми някакво скриптче за качване на снимки но след като се качи да се намаля размера на снимката без да се разваля формата на снимката.

Upload форма без да показва снимките след ъплойд само да ги записва в папка но с намаления размер
 
asteryx каза:
Кажете ми някакво скриптче за качване на снимки но след като се качи да се намаля размера на снимката без да се разваля формата на снимката.

Upload форма без да показва снимките след ъплойд само да ги записва в папка но с намаления размер

Чакай чакай.
Въпроса беше:
asteryx каза:
знаеш ли в кой файл да сложа нещо в форума за да се вижда само от регнати или в headera ама само от регнати да се вижда

Разбрах, че искаш да се вижда някакъв код само от регнати....
Дай този код (html нали?) да ти покажа как да го сложиш в хеадер-а и
да се вижда само от регнати.
 
asteryx каза:
да и това ама неможах да направя другото и сега няма какво да крия :lol:

Като свършиш ще ти обясня как да си сложиш някакъв код или текст който да се вижда само от регнати във форума.
 
Тоа http://legleg1.freehostia.com/index.php как да го направя да не качва оригиналния размер а само малкия



Код:
<?php 
$server=getenv("HTTP_REFERER");

//Дефиниране на максимален размер за качената картинка
define ("MAX_SIZE","10000");
// Дефинирайте широчината и височината на малкото копие
define ("WIDTH","150");
define ("HEIGHT","100");

//Това е функцията, която ще създаде малкото копие от каченото изображение
// Оразмеряването ще бъде направено спрямо дефинираните широчината и височината,
//но без деформиране на изображението
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//Получаване на разширението на снимката.
$ext=getExtension($img_name);
//Създава се ново изображение използваики подходяща функция от GD библиотеката
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);


//Получаване на оразмеряването
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// след което ще сметнем ново оразмеряване на малкото копие
// в следващите стъпки ще направим:
// 1. Смятаме съотношението, като заменим старото оразмеряване с ново.
// 2. Ако ширината е по-голяма, тя ще се промени до максимално зададената
// и височината така ще се сметне, че да не се развали оразмеряването.
// 3. В противен случай ще използваме височината на изображението
// като запазим оразмеряването.
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// Създаваме нова картинка с новото оразмеряване
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// оразмерете голямото изображение на новото и създаваме ново
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// Извеждаме създаденото изображение към файла. Сега ще имаме малко копие на файла $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//Разрушава източника на изображението.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// Тази функция чете разширението на файла.
// Тя е използвана да определи дали файла е картинка.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// Тази променлива е използвана като флаг.
//Стойността е инициализирана с 0  (Значи няма открити грешки)
//и ще се промени на 1 ако е намерена грешка. Тогава файла няма да се качи.
$errors=0;
// Проверява предадената информация от формата
if(isset($_POST['Submit']))
{
//Прочита името на файла които потребителят качва
$image=$_FILES['image']['name'];
// Ако не е било празно
if ($image)
{
// получава оригиналното име
$filename = stripslashes($_FILES['image']['name']);

// получаване на разширението на файла на ниско ниво
$extension = getExtension($filename);
$extension = strtolower($extension);
// Ако е с неизвестно разширение, ще изкара съобщение за грешка
//и файла няма да бъде качен.
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Не известно разширение!</h1>';
$errors=1;
}
else
{
// Взимане на размера в байтове
// $_FILES[\'image\'][\'tmp_name\'] временното име на файла докато файла се качи на сървъра
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//Задаване на максимален размер в kb и изкарване на грешка ако се надвиши.
if ($sizekb > MAX_SIZE*10240)
{
echo '<h1>Надвишен е лимитът за размер!</h1>';
$errors=1;
}

//за име задаваме времето в което е качен файла в UNIX времеви формат
$image_name=time().'.'.$extension;
//картинката ще се запише с новото име в зададената папка (images папката)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//Ако картинката се качи но не се копира малкото копие да изкара грешка
if (!$copied)
{
echo '<h1>Копирането не е успешно!</h1>';
$errors=1;
}
else
{
// Новият thumbnail ще се намира в папка images/thumbs/
$thumb_name='images/thumbs/thumb_'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//ако няма грешки ще се изведе съобщение "Малкото копие е успешно създаден!"
// и ще се създаде малкото копие
if(isset($_POST['Submit']) && !$errors)
{
echo '<div align="center">';
echo "<h1>Малкото копие е успешно създадено!</h1>";
echo '<img border=0 src="'.$thumb_name.'">';
echo '<br>';
echo '<br>';
echo '<table>';
echo '</div>';
}

?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>PHP Създаване на малко копие</title>
<style type="text/css"> 

body
{
background: #F9F9F7 url('img/a1.gif') repeat-x;
font-size: 11px;
font-family: "trebuchet ms", helvetica, sans-serif;
color: #8C8C73;
line-height: 18px;

}

input {
	color: #000;
	text-decoration: none;
	background: #F4F3F3;
	border: 1px solid #ADAEAF;
	font: normal 9pt  verdana, arial;
}
input:hover {
	background: #F4F3F3;
	border: 1px solid #000;
}
</style>
</head>

<body>
<div align="center">
<br>
Разрешени разширения: jpg, jpeg, png
<br>
<form class=input name="newad" method="post" enctype="multipart/form-data" action="">
<table>
<tr><td><input class=input type="file" name="image" ></td><td><input class=input name="Submit" type="submit" value="Качи"></td></tr>
</table>
</form>
</div>
</body>
</html>

1.Как да го накарам да не записва оригиналната снимка :(

2.И да разделя резултата от индекса да не се испълняват на един файл.
 

Back
Горе