X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Добавить ответ в эту тему
> Уменшенные копии изоображения
andrey_94
andrey_94
Topic Starter сообщение 20.5.2009, 17:54; Ответить: andrey_94
Сообщение #1


Здравствуйте, как можно сделать чтобы при добавлении фотки, она автоматически создавала уменьшенную копию и выводила ее, т.е так как на профессиональных галереях.

Имею несколько кодов (только пожалуйста, не предоставляйте новый код, попробуйте модернизировать этот)

Сама форма:

<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" /><br /><br />
Название фото:<input name="title" type="text" />
<input type="submit" value="Send File" />
</form>
Обработчик:

[php]<?php


if (isset($_POST['title'])) {$title = $_POST['title']; }

$uploaddir = 'uploads/';
$date = date("d-m-Y");
$uploadfile = $uploaddir .$date .'-' . basename($_FILES['userfile']['name']);



print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "File is valid, and was successfully uploaded. ";
print "Here's some more debugging info:\n";
print_r($_FILES);

$connect = mysql_connect ("localhost","andrey","andrey");
mysql_select_db ("test",$connect);
mysql_query("INSERT INTO foto (url, text) VALUES ('$uploadfile','$title')");

} else {
print "Possible file upload attack! Here's some debugging info:\n";
print "Possible file upload attack! Дополнительная отладочная информация:\n";
print_r($_FILES);
}
print "</pre>";

?>

[/php]И вот если понадобится, на всякий случай код вывода фоток с базы.
[php]
<?php


$db = mysql_connect("localhost","andrey","andrey");
$result = mysql_select_db("test");
?>

<!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>
<meta http-equiv="Выберите расширение для паковки" content="text/html; charset=windows-1251" />
<title>Фото</title>
<meta http-equiv="Выберите расширение для паковки" content="text/html; charset=windows-1251" />
</head>

<body>
<table border="1" width="50%" cols="3" cellpadding="0" cellspacing="0">
<tr>
<td>

<?php


$result = mysql_query ("SELECT id, url, text FROM foto",$db);
$myrow = mysql_fetch_array ($result);

do
{

printf ("
<img src='%s' border='0' title='%s' style='margin-right:5px; margin-bottom:10px;; margin-top:10px; margin-left:2px'> ",$myrow["url"], $myrow["text"]);

}
while ($myrow = mysql_fetch_array ($result));


?>
</td>
</tr>
</table>
</body>
</html>[/php]Заранее спасибо!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 20.5.2009, 18:27; Ответить: Zippovich
Сообщение #2


А мне лень оптимизировать. Вот мой код. Нужно, разберешься:

[PHP]<?php
header('Content-type: image/jpeg');

if ($_GET['file'] != '') {
$filename = $_SERVER["DOCUMENT_ROOT"].'/head-images/'.$_GET['file'];
$size = getimagesize($filename);
$width = $size[0];
$height = $size[1];
switch ($size['mime']) {
case "image/gif":
$src_image = imagecreatefromgif($filename);
break;
case "image/jpeg":
$src_image = imagecreatefromjpeg($filename);
break;
case "image/png":
$src_image = imagecreatefrompng($filename);
break;
case "image/bmp":
$src_image = imagecreatefromwbmp($filename);
break;
}
if ($width > $height) {
$new_width = 200;
$new_height = round($new_width * $height / $width);
}
else {
$new_height = 200;
$new_width = round($new_height * $width / $height);
}
$dst_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($dst_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($dst_image);
}
?>[/PHP]

имя файла передается get-ом, поддерживает png, bmp, gif, jpg на выходе jpeg. Имя папки для файла поправь на свое.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 20.5.2009, 19:04; Ответить: andrey_94
Сообщение #3


Спасибо, за код.... а как его можно сделать, чтобы сразу при добавлении фотки создавалась миниатюра?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 20.5.2009, 19:09; Ответить: Zippovich
Сообщение #4


В моем коде из большой картинки получается маленькая.

1. Вы из обработчика формы сохраняете фотку на диск.
2. Потом делаете маленькую.
3. Сохраняете маленькую поверх большой с перезаписью.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 20.5.2009, 19:34; Ответить: andrey_94
Сообщение #5


имя папки поправил получается вот такой код:

[PHP]<?php
header('Content-type: image/jpeg');

if ($_GET['file'] != '') {
$filename = $_SERVER["DOCUMENT_ROOT"].'/mini/'.$_GET['file'];
$size = getimagesize($filename);
$width = $size[0];
$height = $size[1];
switch ($size['mime']) {
case "image/gif":
$src_image = imagecreatefromgif($filename);
break;
case "image/jpeg":
$src_image = imagecreatefromjpeg($filename);
break;
case "image/png":
$src_image = imagecreatefrompng($filename);
break;
case "image/bmp":
$src_image = imagecreatefromwbmp($filename);
break;
}
if ($width > $height) {
$new_width = 200;
$new_height = round($new_width * $height / $width);
}
else {
$new_height = 200;
$new_width = round($new_height * $width / $height);
}
$dst_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($dst_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($dst_image);
}
?> [/PHP]

и форму изменил:

<form enctype="multipart/form-data" action="test2.php" method="get">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="file" type="file" />
<input type="submit" value="Send File" />
</form>


Но уменьшенная фотка не появляется в папке mini, и в браузере выдает путь к этой фотке.
В чем может быть проблема?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 20.5.2009, 19:37; Ответить: Zippovich
Сообщение #6


этот скрипт не сохраняет фотки, ему передается имя файла так: thumbnail.php?file=image.jpg

и таким образом Вы видите в броузере уменьшенную копию картинки:

<img src="thumbnail.php?file=image.jpg" alt="" />
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 20.5.2009, 19:40; Ответить: andrey_94
Сообщение #7


Спасибо....я просто в этом деле новичок.... вот заметил у вас в ссылке файл thumbnail где мне его взять?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 20.5.2009, 19:47; Ответить: Zippovich
Сообщение #8


создать, я его код и выложил.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andrey_94
andrey_94
Topic Starter сообщение 20.5.2009, 19:53; Ответить: andrey_94
Сообщение #9


а куда мне вставить этот код:

<img src="thumbnail.php?file=image.jpg" alt="" />
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 20.5.2009, 20:03; Ответить: Zippovich
Сообщение #10


в html.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Создание копии сайта
0 demon304dima 1096 4.8.2016, 2:45
автор: demon304dima
Открытая тема (нет новых ответов) Постоянно нужны копии сайтов на Joomla 2.5
0 infoland 3449 28.9.2013, 16:32
автор: -infoland-
Горячая тема (нет новых ответов) Копипаст контента и копии сайтов любой тематики
Дешего (потому как начинающий)
53 AmoSeo 25976 20.2.2013, 23:22
автор: AmoSeo
Открытая тема (нет новых ответов) Делаю/продаю копии платников
17 GOODmen 8836 15.5.2011, 20:06
автор: Евгешко


 



RSS Текстовая версия Сейчас: 29.3.2024, 11:17
Дизайн