Witam zaczynam programować w php.
Mój problem polega na tym otóż mam taki ajaksowy sktypt do uploadu zdjęć.
Chciałbym dodać żeby po uploadzie zdjęcia wyświetlało mi znak wodny mam taki kod:
<?php
include('db.php');
session_start();
$session_id='1'; //$session id
$path = "uploads/";
$main_img = $_GET['src']; // obrazek, na ktory zostanie nałozony znak wodny
$watermark_img = "znak.png"; // GIF, PNG lub JPG (bez przezroczystosci)
$padding = 3; // odleglosc znaku wodnego od ramki obrazka
$opacity = 100; // przezroczystosc znaku wodnego
$valid_formats = array("jpg", "png", "gif", "bmp");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
echo "";
}
else
echo "failed";
}
else
echo "Maksymalny rozmiar 1 MB";
}
else
echo "Zły format ..";
}
else
echo "Please select image..!";
exit;
}
//funkcja do przezroczystosci obrazka w PNG / GIF
function setTransparency($new_image,$image_source)
{
$transparencyIndex = imagecolortransparent($image_source);
$transparencyColor = array('red' => 255, 'green' => 255, 'blue' => 255);
if ($transparencyIndex >= 0) {
$transparencyColor = imagecolorsforindex($image_source, $transparencyIndex);
}
$transparencyIndex = imagecolorallocate($new_image, $transparencyColor['red'], $transparencyColor['green'], $transparencyColor['blue']);
imagefill($new_image, 0, 0, $transparencyIndex);
imagecolortransparent($new_image, $transparencyIndex);
}
$filetype = substr($main_img,strlen($main_img)-4,4);
$filetype = strtolower($filetype);
if($filetype == ".gif") { //sprawdzenie czy obrazek jest gifem
header('Content-Type: image/gif');
$fn=fopen($main_img,"r");
fpassthru($fn);
}
else {
$watermark_size = getimagesize($watermark_img);
$watermark_width = $watermark_size[0];
$watermark_height = $watermark_size[1];
// Załadowanie znaku wodnego
$watermark = imagecreatefromstring(file_get_contents($watermark_img));
imagealphablending($watermark, false);
imagesavealpha($watermark, true);
$new_image = imagecreatetruecolor($watermark_width, $watermark_height);
setTransparency($new_image, $watermark);
imagecopyresampled($new_image, $watermark, 0, 0, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
$image = imagecreatefromstring(file_get_contents($main_img));
if(!$image || !$new_image) die("Błąd! Obrazek lub znak wodny nie mógł zostać wyświetlony!");
$image_size = getimagesize($main_img);
$dest_x = $image_size[0] - $watermark_width - $padding;
$dest_y = $image_size[1] - $watermark_height - $padding;
// wklejenie znaku wodnego na obrazek
imagecopymerge($image, $new_image, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);
// wyswietlenie obrazka ze znakiem wodnym
header("content-type: image/jpg");
imagejpeg($image);
imagedestroy($image);
imagedestroy($new_image);
}
?>[/code]
I nie chce mi wyświetlać znaku wodnego skrypt jest z tąd.