Witam to mój pierwszy post na tym forum i 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:
  1. <?php
  2. include('db.php');
  3. $session_id='1'; //$session id
  4. $path = "uploads/";
  5. $main_img = $_GET['src']; // obrazek, na ktory zostanie nałozony znak wodny
  6. $watermark_img = "znak.png"; // GIF, PNG lub JPG (bez przezroczystosci)
  7. $padding = 3; // odleglosc znaku wodnego od ramki obrazka
  8. $opacity = 100; // przezroczystosc znaku wodnego
  9.  
  10.  
  11. $valid_formats = array("jpg", "png", "gif", "bmp");
  12. if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
  13. {
  14. $name = $_FILES['photoimg']['name'];
  15. $size = $_FILES['photoimg']['size'];
  16.  
  17. if(strlen($name))
  18. {
  19. list($txt, $ext) = explode(".", $name);
  20. if(in_array($ext,$valid_formats))
  21. {
  22. if($size<(1024*1024))
  23. {
  24. $actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
  25. $tmp = $_FILES['photoimg']['tmp_name'];
  26. if(move_uploaded_file($tmp, $path.$actual_image_name))
  27. {
  28. mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
  29.  
  30. echo "<img src='uploads/".$actual_image_name."' class='preview'>";
  31. }
  32.  
  33.  
  34.  
  35. else
  36. echo "failed";
  37. }
  38. else
  39. echo "Maksymalny rozmiar 1 MB";
  40. }
  41. else
  42. echo "Zły format ..";
  43. }
  44.  
  45. else
  46. echo "Please select image..!";
  47.  
  48. }
  49.  
  50.  
  51.  
  52. //funkcja do przezroczystosci obrazka w PNG / GIF
  53. function setTransparency($new_image,$image_source)
  54. {
  55. $transparencyIndex = imagecolortransparent($image_source);
  56. $transparencyColor = array('red' => 255, 'green' => 255, 'blue' => 255);
  57.  
  58. if ($transparencyIndex >= 0) {
  59. $transparencyColor = imagecolorsforindex($image_source, $transparencyIndex);
  60. }
  61.  
  62. $transparencyIndex = imagecolorallocate($new_image, $transparencyColor['red'], $transparencyColor['green'], $transparencyColor['blue']);
  63. imagefill($new_image, 0, 0, $transparencyIndex);
  64. imagecolortransparent($new_image, $transparencyIndex);
  65. }
  66.  
  67. $filetype = substr($main_img,strlen($main_img)-4,4);
  68. $filetype = strtolower($filetype);
  69.  
  70. if($filetype == ".gif") { //sprawdzenie czy obrazek jest gifem
  71. header('Content-Type: image/gif');
  72. $fn=fopen($main_img,"r");
  73. fpassthru($fn);
  74. }
  75. else {
  76.  
  77. $watermark_size = getimagesize($watermark_img);
  78. $watermark_width = $watermark_size[0];
  79. $watermark_height = $watermark_size[1];
  80.  
  81. // Załadowanie znaku wodnego
  82. $watermark = imagecreatefromstring(file_get_contents($watermark_img));
  83. imagealphablending($watermark, false);
  84. imagesavealpha($watermark, true);
  85.  
  86. $new_image = imagecreatetruecolor($watermark_width, $watermark_height);
  87. setTransparency($new_image, $watermark);
  88. imagecopyresampled($new_image, $watermark, 0, 0, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
  89.  
  90. $image = imagecreatefromstring(file_get_contents($main_img));
  91.  
  92. if(!$image || !$new_image) die("Błąd! Obrazek lub znak wodny nie mógł zostać wyświetlony!");
  93.  
  94. $image_size = getimagesize($main_img);
  95. $dest_x = $image_size[0] - $watermark_width - $padding;
  96. $dest_y = $image_size[1] - $watermark_height - $padding;
  97.  
  98. // wklejenie znaku wodnego na obrazek
  99. imagecopymerge($image, $new_image, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);
  100.  
  101. // wyswietlenie obrazka ze znakiem wodnym
  102. header("content-type: image/jpg");
  103. imagejpeg($image);
  104. imagedestroy($image);
  105. imagedestroy($new_image);
  106.  
  107. }
  108. ?>


I nie chce mi wyświetlać znaku wodnego skrypt jest z tąd.
http://www.9lessons.info/2011/08/ajax-imag...refreshing.html