Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Obrazek z watermark
Forum PHP.pl > Forum > Przedszkole
glocko
Witam
Mam taki skrypt uploadu:
  1. if(isset($_POST['submit_obrazek']) and $_GET['co']=='obrazek') {
  2. if(!$_POST['tytul'] || !$_FILES['obrazek']['name']) {
  3. echo '<b>Nie wypełniono pola z tytułem lub obrazkiem!</b><br/><a href="dodaj.php">&laquo; Powrót</a>';
  4. }
  5. else {
  6. //UPLOAD OBRAZKA
  7. if(filesize($_FILES['obrazek']['tmp_name']) >= $conf->pobierz('max_file_size')) {
  8. $data_img = date("YmdHis");
  9. $sp1 = explode(".",($_FILES['obrazek']['name']));
  10. $uploaddir = 'img/upload/'.$data_img.'.'.$sp1[1];
  11. switch(uploadFile('obrazek','img/upload/', 'jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG', 0, $data_img)) {
  12. case 0: echo "Nie wybrano pliku do załadowania!"; break;
  13. case 1: echo "Wgrywanie pliku nie powiodło się."; break;
  14. case 2:
  15. if($sp1[1] != "gif" AND $sp1[1]!= "GIF") {
  16. $image = new SimpleImage();
  17. $image->load($uploaddir);
  18. if($image->getWidth() > 670) {
  19. $image->resizeToWidth(670);
  20. $image->save($uploaddir);
  21. }
  22. else { //jeżeli obrazek jest mniejszy niż limit szerokości to jest kompresowany żeby mniej ważył
  23. $image->resizeToWidth($image->getWidth());
  24. $image->save($uploaddir);
  25. }
  26. }
  27.  
  28. $tytul=htmlspecialchars($_POST['tytul']);
  29. $zrodlo=htmlspecialchars($_POST['zrodlo']);
  30. $gra=htmlspecialchars($_POST['gra']);
  31. $autor = $user->userInfo("id");
  32. $data=date('d-m-Y H:i');
  33. $wykonaj = mysql_query("INSERT INTO `shity` (`title`, `img`, `source`, `author`, `data`, `type`) VALUES ('$tytul', '$uploaddir', '$zrodlo', '$autor', '$data', 'obrazek')");
  34.  
  35. echo "Obiekt został dodany!";
  36. break;
  37. case 3: echo "Niedozwolone rozszerzenie pliku!"; break;
  38. case 4: echo "Taki plik już istnieje.";
  39. }
  40. }
  41. else echo "Plik jest za duży.";
  42. echo '<br /><a href="index.php">&laquo; Strona Główna</a>';
  43. }
  44. }
  45. else {

oraz w innym pliku zdefiniowana funkcje:
  1. function uploadFile($input_name, $dir, $file_type, $overwrite = 1, $file_name = NULL) {
  2.  
  3. if(!$_FILES[$input_name]['name']) return 0;
  4. $ex = explode("|",$file_type);
  5. $file_ex = explode(".",$_FILES[$input_name]['name']);
  6. $c_file_ex = count($file_ex);
  7. for($i=0; $i<count($ex); $i++) {
  8. if($file_ex[$c_file_ex-1] === $ex[$i]) {
  9. if($file_name == NULL) {
  10. if($overwrite == 0 AND file_exists($dir.$_FILES[$input_name]['name'])) return 4;
  11. if(!move_uploaded_file($_FILES[$input_name]['tmp_name'],$dir.$_FILES[$input_name]['name'])) return 1;
  12. else return 2;
  13. }
  14. else {
  15. if($overwrite == 0 AND file_exists($dir.$file_name.".".$file_ex[$c_file_ex-1])) return 4;
  16. if(!move_uploaded_file($_FILES[$input_name]['tmp_name'],$dir.$file_name.".".$file_ex[$c_file_ex-1])) return 1;
  17. else return 2;
  18. }
  19. }
  20. if($i+1 == count($ex)) return 3;


Potrzebuje dorobic do tego, aby podczas dodawania obrazka dodawał się do niego automatycznie znak wodny ( obrazek lub tekst)
Proszę o pomoc... wstydnis.gif

maviozo
Google próbowałeś? Ostatnio sam na szybko szukałem czegoś takiego i znalazłem bez problemu..
http://designconcept.webdev20.pl/articles/...-zdjecia-w-php/
http://php.net/manual/en/function.imagecopymerge.php
glocko
Nie wychodz mi połaczenie tych skryptów ;/
Ktoś pomoże ?
maviozo
Dodaj sobie do klasy SimpleImage taką funkcję:
  1. function znak_wodny(){
  2. $znak = imagecreatefrompng(LINK DO ZNAKU WODNEGO);
  3. imagecopymerge($this->image,$znak,256,152,0,0,33,33,100);
  4. }

A następnie wywołaj $image->znak_wodny(); PRZED $image->save(...).

Opis tego, co oznaczają kolejne cyferki w funkcji znajdziesz w zacytowanych przeze mnie stronach.
glocko
No niby działa... Jednak nie wyświetla pobrawnie przezroczystego tła w png ;/
maviozo
Przeszukaj komentarze w podlinkowanej stronie na php.net, masz tam funkcję imagecopymerge_alpha smile.gif wystarczy ją wkleić.. jakbyś tam zerknął, nie musiałbyś czekać dnia na pomoc...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.