|
|
|
| всем привет ! у меня есть очень хорошо работающий код для изменения размера фото (imgresize.php) , мне надо его внедрить в insert, то есть из формы (11112f.php) передается инфа, в том числе и фото, передается в 11112in.php там нужно изменить размер на 430 на 288 и отправить его в базу данных (OBB). подскажите как это сделать корректно. вот код изменения размера фото:
imgresize.php
<?php
/***********************************************************************************
Функция img_resize(): генерация thumbnails
Параметры:
$src - имя исходного файла
$dest - имя генерируемого файла
$width, $height - ширина и высота генерируемого изображения, в пикселях
Необязательные параметры:
$rgb - цвет фона, по умолчанию - белый
$quality - качество генерируемого JPEG, по умолчанию - максимальное (100)
***********************************************************************************/
function img_resize($src, $dest, $width, $height, $rgb=0xFFFFFF, $quality=100)
{
if (!file_exists($src)) return false;
$size = getimagesize($src);
if ($size === false) return false;
// Определяем исходный формат по MIME-информации, предоставленной
// функцией getimagesize, и выбираем соответствующую формату
// imagecreatefrom-функцию.
$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);
$new_width = $use_x_ratio ? $width : floor($size[0] * $ratio);
$new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio);
$new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2);
$new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);
imagefill($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0,
$new_width, $new_height, $size[0], $size[1]);
return imagejpeg($idest, $dest, $quality);
imagedestroy($isrc);
imagedestroy($idest);
return true;
}
?>
|
и вот ещё кусочек от него:
<?php
require ('imgresize.php');
if (img_resize('original.jpg', 'small.jpg', 100, 60))
echo 'Image resized OK';
else
echo 'Resize failed!';
?>
|
а вот тот самый 11112in.php:
<?php include ("db.php");
session_start();
if (isset($_SESSION["captcha"]) && $_SESSION["captcha"]===$_POST["captcha"]) {$_baz="OB";echo "<center><br><br><br><br><br><br><br><br><br><b>Ваше
объявление успешно добавлено.<br>Выберете раздел в меню,
что бы продолжить просмотр.</b></center>";}
else {$_baz=""; echo "<center><br><br><br><br><br><br><br><br><br><b>Вы
неправильно ввели код или код устарел.<br>Объявление не
добавленно.<br>Вернитесь к форме подачи объявления.
</b><br><br><br><a href='http://b-problem.ru/11111f.php'>
<img src='Obv.png' border=0></a></center>";}
unset($_SESSION["captcha"]);
$data = date("Y,m,j,H,i,s");
if (isset($_POST['user'])) {$user = $_POST['user'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['telefon'])) {$telefon = $_POST['telefon'];}
if (isset($_POST['text'])) {$text = $_POST['text'];}
if (!empty($_FILES['image']['name'])){
if ($_FILES['image']['error'] == 0){
if (substr($_FILES['image']['type'],0,5) =='image')
{$image = file_get_contents($_FILES['image']['tmp_name']);
$image = mysql_escape_string($image);}
}
}
$res = mysql_query("insert into $_baz
(data,user,email,telefon,text,image)
values ('$data','$user','$email','$telefon','$text','$image')", $db);
?>
|
а это форма если понадобится 11112f.php:
<?php
readfile("js.txt");
echo "<br>";
echo "<form action='11112in.php' method='post' name='form' enctype='multipart/form-data' onSubmit = 'return checkform(this)'>";
echo "<center>";
echo "<table>";
echo "<tr>";
echo "<td width='150' height='30'><b>Контактное лицо:</b>
</td><td><input yo='Контактное лицо' name='user'
type='text' size='51' required
title='Введите Ваше имя.' onChange='check_it();'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width='150' height='30'><b>Ваш E-mail:</b></td><td><input name='email' type='text' size='51'title='Введите адрес электронной почты.' onChange='check_it();'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width='150' height='30'><b>Ваш Телефон:</b>
</td><td><input yo='Ваш Телефон' name='telefon'
type='text' size='51' maxlength='11' required
onKeyPress ='if ((event.keyCode < 48) ||
(event.keyCode > 57)) event.returnValue = false; 'title='Введите номер телефона.' onChange='check_it();'>
</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='150' height='30'><b>Текст объявления:
</b></td><td><textarea yo='Текст объявления'
name='text' cols='40' rows='5' type='text' required
title='Введите текст объявления.'
onChange='check_it();'></textarea></td>";
echo "</tr>";
echo "<tr>";
echo "<td width='150' height='30'><b>Ваше фото:</b></td><td><input type='file' name='image'></td>";
echo "</tr>";
echo "</table>";
echo "</center>";
echo "<center>";
echo "<br><br><img src='/11112c.php' alt='Картинка' /><br>";
echo "<center>";
echo "<table>";
echo "<tr>";
echo "<td width='300' height='60'><b>Пожалуйста,
введите код с картинки: </b><input type='text'
yo='Код с картинки' name='captcha' required title='Введите код с картинки.'
onChange='check_it();' onKeyPress ='if ((event.keyCode
< 48) || (event.keyCode > 57)) event.returnValue = false;'></td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type=checkbox yo='Правила' name=Pravila
value='Pravila' required><b>Я ознакомился с правилами сайта
Без проблем, и согласен с ними.</b></td>";
echo "</tr>";
echo "<tr>";
echo "<td><br><input type='submit' name='submit' value='Разместить объявление'/></td>";
echo "</tr>";
echo "</table>";
echo "</center>";
echo "</form>";
?>
|
Заранее спасибо ! | |
|
|
|
|
|
|
|
для: Денис2009
(16.09.2011 в 18:17)
| | в базе лучше хранить путь к картинке, а саму картинку надо загрузить просто на сайт в подготовленную для этого директорию при помощи move_uploaded_file().
что бы получить данные по загружаемой картинке обратитесь к массиву $_FILES
в форме создайте поле типа file, так Вы сможете выбрать нужную Вам картинку | |
|
|
|
|
|
|
|
для: Slo_Nik
(16.09.2011 в 18:56)
| | у меня есть в таблице поле image вот туда и надо закинуть фото причём измененное. цитата: "в базе лучше хранить путь к картинке, а саму картинку надо загрузить просто на сайт в подготовленную для этого директорию" нет мн нужно в базу, потому что они долго не живут 7 дней сайт обновляет базу автоматом через крон | |
|
|
|
|
|
|
|
для: Денис2009
(16.09.2011 в 19:03)
| | Изменённое изображение Вам не получится в поле формы, чтобы изменить размер изображения, Вам надо его сначала загрузить на сервер, вот при помощи поля с типом file и функции move_uploaded_file() и грузите изображение, а уж потом изменяйте его размер.
И что Вам стоит запустить по cron скрипт, который будет обновлять базу, а заодно проверять, что если существует файл изображения, то удалять его из директории? Вам надо будет дописать в скрипт всего несколько строк. | |
|
|
|
|
|
|
|
для: Slo_Nik
(16.09.2011 в 19:18)
| | http://forum.webmasterschool.ru/index.php?action=showTheme&idForum=2&id_theme=505&page=5 возможно всё..... смотрите и радуйтесь | |
|
|
|
|
|
|
|
для: Денис2009
(17.09.2011 в 14:07)
| | по поводу чего радоваться?
Вы сами внимательно прочитайте и потом радуйтесь.... | |
|
|
|
|
|
|
|
для: Slo_Nik
(17.09.2011 в 16:52)
| | ну у меня всё работает | |
|
|
|