Какъв е кода ако някой знае

http://webjo.no-ip.org/temp/31.1.2007/image_upload.rar

Ето ти оригинала, само ако искаш си го едитни като цветове и други :-)

http://web-tourist.net/forum/viewtopic.php?t=4545&postdays=0&postorder=asc&start=0
 
niksun каза:
Някой знае ли как да направя сайта като този http://pichostbg.ifastnet.com/

помня че jooorooo беше дал код за такова нещо но тъй като не успях да намеря темата във форума си проверих архива в компа и го намерих(добрече съм умен та си паза такива неща)

ето ти и кода:
Код:
<?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 '<tr><td>phpBB/IPB Thumbnail</td><td><input class=input type="text" value="[url='.$server.''.$newname.'][img]'.$server.''.$thumb_name.'[/img][/url]" name="'.$thumb_name.'" size="100"></td></tr>';
echo '<tr><td>phpBB/IPB Оригинален размер</td><td><input class=input type="text" value="[img]'.$server.''.$newname.'[/img]" name="'.$newname.'" size="100"></td></tr>';
echo '<tr><td>HTML Thumbnail</td><td><input class=input type="text" value="<a href='.$server.''.$newname.'><img src='.$server.''.$thumb_name.' border=0></a>" name="'.$newname.'" size="100"></td></tr>';
echo '<tr><td>HTML Оригинален размер</td><td><input class=input type="text" value="<img src='.$server.''.$newname.' border=0>" name="'.$newname.'" size="100"></td></tr>';
echo '<tr><td>Директен линк към оригинала</td><td><input class=input type="text" value="'.$server.''.$newname.'" name="'.$newname.'" size="100"></td></tr>';
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>

Също трябва да направиш две папки - img и images
Само не си спомням дали трябваше да се смени пермишъна на 777...!!!???
 
jooorooo каза:
SandPrince каза:
ха!!! jooorooo ме изпревари!!! няма нищо!

ако искаш си свали новия архив който съм дал, подържат се вече и gif

Супер!Свалям го веднага!
--------------------
edit:
нещо не става - пак са само Разрешени разширения: jpg, jpeg, png
http://sandprince.freehostia.com/upload_kartinki/
 
jooorooo,
:)
за да вземеш размера на файла не ти трябват никави функции от рода на getimagesize или filesize...
глобалната променлива $_FILES си съдържа всичко :)
пр. в случая размера на файла ти е -> $_FILES['image']['size']
Другото ..
Код:
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
Виж колко по кратко :)
echo strtolower(end(explode('.',$_FILES['image']['name'])));
Трето..
пробвай като си отвориш страницата и без да си избираш файл да цъкнеш "Качи" :) воала...
и бтв без да пипнете конфигурацията на пхп дали с php.ini дали с htaccess максималния размер на файла е 2MB (по дефулт де)
:?:
 
bafitu знам че има забележки по него, но все не намирам време да го дооправя. :(
 
Карай важното е да го схванеш пък кога ще го оправиш е друг въпрос... :)
//no more off
 

Back
Горе