Привет.
Суть такая:
Есть скрипт загружающий изображения в папку на сервер (фотохостинг).
Нужно что бы один код обработал это изображение.
изображение должен обработать этот код(КОД#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 ?? Можете пожалуйста код подправить, что бы сделать её? И правильно ли я построил свои фантастически догадки?