Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: imgresize
 
 автор: Денис2009   (16.09.2011 в 18:17)   письмо автору
 
 

всем привет ! у меня есть очень хорошо работающий код для изменения размера фото (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  floor(($width $new_width) / 2);
  
$new_top     = !$use_x_ratio floor(($height $new_height) / 2);

  
$isrc $icfunc($src);
  
$idest imagecreatetruecolor($width$height);

  
imagefill($idest00$rgb);
  
imagecopyresampled($idest$isrc$new_left$new_top00
    
$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'10060))
    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>";
?>

Заранее спасибо !

  Ответить  
 
 автор: Slo_Nik   (16.09.2011 в 18:56)   письмо автору
 
   для: Денис2009   (16.09.2011 в 18:17)
 

в базе лучше хранить путь к картинке, а саму картинку надо загрузить просто на сайт в подготовленную для этого директорию при помощи move_uploaded_file().
что бы получить данные по загружаемой картинке обратитесь к массиву $_FILES
в форме создайте поле типа file, так Вы сможете выбрать нужную Вам картинку

  Ответить  
 
 автор: Денис2009   (16.09.2011 в 19:03)   письмо автору
 
   для: Slo_Nik   (16.09.2011 в 18:56)
 

у меня есть в таблице поле image вот туда и надо закинуть фото причём измененное. цитата: "в базе лучше хранить путь к картинке, а саму картинку надо загрузить просто на сайт в подготовленную для этого директорию" нет мн нужно в базу, потому что они долго не живут 7 дней сайт обновляет базу автоматом через крон

  Ответить  
 
 автор: Slo_Nik   (16.09.2011 в 19:18)   письмо автору
 
   для: Денис2009   (16.09.2011 в 19:03)
 

Изменённое изображение Вам не получится в поле формы, чтобы изменить размер изображения, Вам надо его сначала загрузить на сервер, вот при помощи поля с типом file и функции move_uploaded_file() и грузите изображение, а уж потом изменяйте его размер.

И что Вам стоит запустить по cron скрипт, который будет обновлять базу, а заодно проверять, что если существует файл изображения, то удалять его из директории? Вам надо будет дописать в скрипт всего несколько строк.

  Ответить  
 
 автор: Денис2009   (17.09.2011 в 14:07)   письмо автору
 
   для: Slo_Nik   (16.09.2011 в 19:18)
 

http://forum.webmasterschool.ru/index.php?action=showTheme&idForum=2&id_theme=505&page=5 возможно всё..... смотрите и радуйтесь

  Ответить  
 
 автор: Slo_Nik   (17.09.2011 в 16:52)   письмо автору
 
   для: Денис2009   (17.09.2011 в 14:07)
 

по поводу чего радоваться?
Вы сами внимательно прочитайте и потом радуйтесь....

  Ответить  
 
 автор: Денис2009   (19.09.2011 в 19:53)   письмо автору
 
   для: Slo_Nik   (17.09.2011 в 16:52)
 

ну у меня всё работает

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования