Потребител Парола | Регистрация | Забравена парола
Меню
· Начало
· Файлове
· Форум
· Връзки
· Категории на уроците
· За контакти
· Фото галерия
· Търсене
Кажи на приятел

Вашия email:
email на приятел:
Копие за вас?
Реклама

Създаване на Thumbnail при upload

PHP & MySQL
Код
<?php
echo '
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
\"http://www.w3.org/TR/html4/loose.dtd\">
<html>
<head>
<title>Thumbnail Script</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1251\">
</head>
<body>
<center>
';
if(isset($_POST['upload'])){//долният код се изпълнява, когато е натиснат бутонът Изпрати
function upload_small($tmp_name,$file_type,$path_small){//upload с промяна на ширина и височина на картинката
if(!file_exists($path_small)){//проверка дали съществува файл със същото име
if($file_type==\"image/pjpeg\" or $file_type==\"image/jpeg\" or $file_type==\"image/gif\" or $file_type==\"image/x-png\" or $file_type==\"image/png\"){//проверка дали файлът е картинка
list($width,$height)=getimagesize($tmp_name);
define(\"WIDTH\",\"150\");//ширина 150 пиксела - тук може да промените 150 за ширина
define(\"HEIGHT\",\"150\");//височина 150 пиксела - тук може да промените 150 за дължина
if($width<WIDTH and $height<HEIGHT){//ако ширината и височината са по-малки от WIDTH и HEIGHT
move_uploaded_file($tmp_name,$path_small);
}elseif($width>=WIDTH){//ако ширината е по-голяма или равна на WIDTH
$new_width= WIDTH;//задаване на нова ширина
$new_height= (int) ($height*$new_width)/$width;//задаване на нова височина
//избиране на функцията за разчитане на картинката
if($file_type==\"image/pjpeg\" or $file_type==\"image/jpeg\"){
$imagecreatefrom=\"imagecreatefromjpeg\";
}elseif($file_type==\"image/gif\"){
$imagecreatefrom=\"imagecreatefromgif\";
}elseif($file_type==\"image/x-png\" or $file_type==\"image/png\"){
$imagecreatefrom=\"imagecreatefrompng\";
}
//край на избиране на функцията за разчитане на картинката
$image_p=imagecreatetruecolor($new_width, $new_height);//създаване на нова картинка с новите размери
$image=$imagecreatefrom($tmp_name);//разчитане на оригиналната картинка
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//създаване на малката картинка
imagejpeg($image_p, $path_small, 100);//записване на малката картинка с качество 100
}elseif($height>=HEIGHT){//ако височината е по-голяма или равна на HEIGHT
$new_height= HEIGHT;//задаване на нова височина
$new_width= (int) ($width*$new_height)/$height;//задаване на нова ширина
//избиране на функцията за разчитане на картинката
if($file_type==\"image/pjpeg\" or $file_type==\"image/jpeg\"){
$imagecreatefrom=\"imagecreatefromjpeg\";
}elseif($file_type==\"image/gif\"){
$imagecreatefrom=\"imagecreatefromgif\";
}elseif($file_type==\"image/x-png\" or $file_type==\"image/png\"){
$imagecreatefrom=\"imagecreatefrompng\";
}
//край на избиране на функцията за разчитане на картинката
$image_p=imagecreatetruecolor($new_width, $new_height);//създаване на нова картинка с новите размери
$image=$imagecreatefrom($tmp_name);//разчитане на оригиналната картинка
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//създаване на малката картинка
imagejpeg($image_p, $path_small, 100);//записване на малката картинка с качество 100
}
}else{ echo 'Файлът не е картинка!'; exit; }
}else{ echo 'Такъв файл вече съществува!'; exit; }
}
define(\"URL\",\"http://www.site.com/\");//дефинираме адреса на сайта до първата папка images с / накрая
$file_name=$_FILES['ufile']['name'];//името на картинката
$tmp_name=$_FILES['ufile']['tmp_name'];//път до временното положение на картинката
$file_type=$_FILES['ufile']['type'];//тип на картинката
$path_small=\"images/thumbs/\".basename(strtolower($file_name));//път за upload на малката картинка с малки букви
upload_small($tmp_name,$file_type,$path_small);//upload на малката картинка
//тук показваме картинката и адреса й и използваме дефинирания по-горе URL
echo '<br><img src=\"'.$path_small.'\" alt=\"\"><br>';
echo '<br>'.URL.$path_small.'<br>';
//край на показване картинката и адреса им
}else{
if(!function_exists(\"gd_info\")){//проверка за GD библиотека
echo 'GD Graphics Library не е инсталирана на този сървър!';
}else{
echo '
<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">
<input type=\"file\" name=\"ufile\"><br>
<input type=\"submit\" name=\"upload\" value=\"Изпрати\">
</form>
';
}
}
echo '
</center>
</body>
</html>
';
?>



· smilev на January 12 2011 07:17:58 · 0 Коментари · 2050 Прочитания · Отпечатай
Коментари
Няма добавени коментари.
Напиши коментар
Моля влезте, за да коментирате.
Оценка
Рейтингите са достъпни само за регистрирани.

Моля влезте или се регистрирайте за да гласувате.

Няма оценки.
Вход
Потребител

Парола



Не сте регистрирани?
Натиснете тук за регистрация.

Забравена парола?
Натиснете тук за нова.
Анкета
С каква операционна система работите











Трябва да влезете за да гласувате.
ЧАТ
Трябва да влезате за да пуснете съобщение.

Няма съобщения.
Статистика