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



 

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

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

Открыть тему
Тема закрыта
> Переменная изображения. Где она в этом коде?
topsmiling
topsmiling
Topic Starter сообщение 4.8.2012, 0:45; Ответить: topsmiling
Сообщение #1


Привет.

Суть такая:

Есть скрипт загружающий изображения в папку на сервер (фотохостинг).
Нужно что бы один код обработал это изображение.

изображение должен обработать этот код(КОД#1):
Развернуть/Свернуть

<?php
// исходное изображение
$img="pic1.jpg";

// imagecreatefrompng - создаёт новое изображение из файла или URL
// водный знак
$wm=imagecreatefrompng('logo.png');

// imagesx - получает ширину изображения
$wmW=imagesx($wm);

// imagesy - получает высоту изображения
$wmH=imagesy($wm);

// imagecreatetruecolor - создаёт новое изображение true color
$image=imagecreatetruecolor($wmW, $wmH);

// eregi - совпадение с регулярным выражением без учёта регистра символов
// выясняем расширение изображения на которое будем накладывать водный знак
if(eregi('.gif',$img))
{
  $image=imagecreatefromgif($img);
}
elseif(eregi('.jpeg',$img)||eregi('.jpg',$img))
{
  $image=imagecreatefromjpeg($img);
}
elseif(eregi('.png',$img))
{
  $image=imagecreatefrompng($img);
}
else
{
  die("Ошибка! Неизвестное расширение изображения");
}
// узнаем размер изображения
$size=getimagesize($img);

// указываем координаты, где будет располагаться водный знак
/*
* $size[0] - ширина изображения
* $size[1] - высота изображения
* В нашем примере изображение размером 448x336
* Координаты соответственно будут
* $x=448-88-10=277
* $y=336-31-10=265
* - 10 -это расстояние от границы исходного изображения
*/
$cx=$size[0]-$wmW-10;
$cy=$size[1]-$wmH-10;

/*** imagecopyresampled - копирует и изменяет размеры части изображения
* с пересэмплированием
*/
imagecopyresampled ($image, $wm, $cx, $cy, 0, 0, $wmW, $wmH, $wmW, $wmH);

/*** imagejpeg - создаёт JPEG-файл filename из изображения image
* третий параметр - качество нового изображение
* параметр является необязательным и имеет диапазон значений
* от 0 (наихудшее качество, наименьший файл)
* до 100 (наилучшее качество, наибольший файл)
* По умолчанию используется значение по умолчанию IJG quality (около 75)
*/
imagejpeg($image,$img,90);

// imagedestroy - освобождает память
imagedestroy($image);

imagedestroy($wm);

// на всякий случай
unset($image,$img);
?>



а это сам скрипт загружающий изображение на хостинг сейчас(КОД#2):

Развернуть/Свернуть

<?

function createthumb($name,$sourcetype,$filename,$new_w,$new_h){
  if ($sourcetype==".jpg"){
    $src_img=imagecreatefromjpeg($name);
  }
  if ($sourcetype==".png"){
    $src_img=imagecreatefrompng($name);
  }
  if ($sourcetype==".gif"){
    $src_img=imagecreatefromgif($name);
  }

  $old_x=imageSX($src_img);
  $old_y=imageSY($src_img);
  if ($old_x > $old_y) {
    $thumb_w=$new_w;
    $thumb_h=$old_y*($new_h/$old_x);
  }
  if ($old_x < $old_y) {
    $thumb_w=$old_x*($new_w/$old_y);
    $thumb_h=$new_h;
  }
  if ($old_x == $old_y) {
    $thumb_w=$new_w;
    $thumb_h=$new_h;
  }

  $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
  imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

  imagejpeg($dst_img,$filename);
  imagedestroy($dst_img);
  imagedestroy($src_img);
}

//------------------------ НАЧАЛО ------------------
include("config.php");
include("top.php");

if(!isset($_FILES['userfile'])) exit;
if(!is_uploaded_file($_FILES['userfile']['tmp_name'])) exit;

if ($_FILES['userfile']['size']>$max_size) {
  echo "<p align=center>".$lang['toobig']."</p>";
  exit;
}

$pictype="";
switch(strtolower($_FILES['userfile']['type'])){
  case "image/jpeg" : $pictype=".jpg"; break;
  case "image/pjpeg": $pictype=".jpg"; break;
  case "image/gif"  : $pictype=".gif"; break;
  case "image/png"  : $pictype=".png"; break;
  case "image/x-png": $pictype=".png"; break;
  default           : $pictype=""; break;
}

if($pictype!="") {
//-------
  do {
    $uniq=md5(uniqid(rand(),1));
    $srcfile=$path.$uniq.$pictype;
  } while(file_exists($srcfile));

  $res = copy($_FILES['userfile']['tmp_name'], $srcfile);

  if (!$res) {
    echo "<p align=center>".$lang['copyerr']."</p>";
    exit;
  }
  @chmod($srcfile,0666);
  //set url variable
  $imgf = $path . $uniq . $pictype;
  $thbf = $tpath . $uniq . ".jpg";
  createthumb($imgf,$pictype,$thbf,$tsize,$tsize);
  @chmod($thbf,0666);
  $urlf = $domain . $path . $uniq . $pictype;

  ?>
  <p><b><?=$lang['success']?></b></p>
  <a href='v.php?id=<?=$uniq.$pictype?>' target=_blank><img src='<?=$tpath.$uniq.".jpg"?>' border=0></a><br><br>

  <?=$lang['bbcode']?>:<br>
  <input type="text" size="60" onmouseover="this.select()" value="[url=<?=$domain?>v.php?id=<?=$uniq.$pictype?>][img]<?=$domain.$tpath.$uniq.".jpg"?>[/img][/url]"><br><br>
  <?=$lang['html']?>:<br>
  <input type="text" size="60" onmouseover="this.select()" value="<a href='<?=$domain?>v.php?id=<?=$uniq.$pictype?>' target=_blank><img src='<?=$domain.$tpath.$uniq.".jpg"?>' border=0></a>"><br><br>
  <?=$lang['url']?>:<br>
  <input type="text" size="60" onmouseover="this.select()" value='<?=$domain?>v.php?id=<?=$uniq.$pictype?>'><br><br>
  <?=$lang['directurl']?>:<br>
  <input type="text" size="60" onmouseover="this.select()" value="<?=$urlf;?>"><br><br>
  <?
//------
} else {
  echo "<p align=center>".$lang['format']."</p>";
  exit;
}

include("bottom.php");

?>



Я не особо пока разбираюсь в этом, но как я понял КОД#1 берет изображение:
$img="pic1.jpg";


т.е. наверное сначала нужно подгрузить изображение, а потом после действий КОДА#2 вытащить только что загруженное изображение в переменную. Например в:
$zagruzili


Получается я потом смогу в конце КОДА#2 вставить КОД#1, но уже исходное изображение заменить на нашу переменную:

$img= $zagruzili;


И получится что КОД#1 обработал мое изображение на сервере загруженное при помощи КОДА#2.

Короче - как мне вытащить эту мою переменную $zagruzili ?? Можете пожалуйста код подправить, что бы сделать её? И правильно ли я построил свои фантастически догадки?


--------------------
.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lordie
Lordie
сообщение 4.8.2012, 1:05; Ответить: Lordie
Сообщение #2


Вместо $zagruzili у вас $uniq . $pictype

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Кто где хранит файлы? И какой объем?
просто интересно
22 mark2013 2670 15.4.2024, 8:08
автор: Room
Открытая тема (нет новых ответов) Если статья не в индексе Google - она уникальна или нет?
5 uahomka 1440 3.4.2024, 23:56
автор: Liudmila
Открытая тема (нет новых ответов) Где больше пробив на кликандер или попандер или попап трафике?
1 Boymaster 680 20.3.2024, 9:50
автор: Skyworker
Открытая тема (нет новых ответов) Где получить виртуальную карту бесплатно?
22 Mixatraider 5514 2.3.2024, 0:08
автор: Alekser
Горячая тема (нет новых ответов) Где лучше зарегистрировать email?
104 MorKer 13736 29.2.2024, 23:45
автор: bestx24


 



RSS Текстовая версия Сейчас: 23.4.2024, 18:30
Дизайн