{ { { $NewImageName = $t."_".$value; $uploaded = "img/".$NewImageName. $_FILES["images"][$key]; $MyImages[] = $NewImageName; } } { }
Kod, znaku wodnego, który dodaję wygląda następująco:
$znak = imagecreatefrompng('wodny.png'); $img = imagecreatefromjpeg($save_file); $plik_w = imagesx($img); $plik_h = imagesy($img); $znaczek_w = imagesx($znak); $znaczek_h = imagesy($znak); $od_x = $plik_w - $znaczek_w; $od_y = $plik_h - $znaczek_h; imagecopy($img, $znak, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h); imagejpeg($img, $save_file, 100);
Sam ten kod bez użycia pętli, czyli przy jednym pliku działa bez zarzutu. Znaczek wodny się dodaje.
Po połączeniu tych dwóch skryptów kod prezentuje się następująco
{ { { $NewImageName = $t."_".$value; $uploaded = "img/".$NewImageName. $_FILES["images"][$key]; //kod, który odpowoada za dodanie znaku wodnego do każdego zdjęcia $znak = imagecreatefrompng('images/wodny.png'); $img = imagecreatefromjpeg($NewImageName. $_FILES["images"][$key]); $plik_w = imagesx($img); $plik_h = imagesy($img); $znaczek_w = imagesx($znak); $znaczek_h = imagesy($znak); $od_x = $plik_w - $znaczek_w; $od_y = $plik_h - $znaczek_h; imagecopy($img, $znak, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h); imagejpeg($img, $save_file, 100); $MyImages[] = $NewImageName; } } { }
I tu się pojawia problem, ponieważ użytkownik może dodać trzy pliki na raz i niestety jest klapa. Pliki owszem się uploadują na serwer, a ich ścieżki do bazy danych, lecz na plikach nie pojawia się znak wodny. Po kliknięciu w przycisk formularza wyświetlają się następujące błędy:
Warning: imagecreatefromjpeg(1447119122_Chrysanthemum.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in c:\usr\krasnal\www\ogloszenia\dodaj.php on line 80
Warning: imagesx(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\ogloszenia\dodaj.php on line 82
Warning: imagesy(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\ogloszenia\dodaj.php on line 83
Warning: imagecopy(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\ogloszenia\dodaj.php on line 93
Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\usr\krasnal\www\ogloszenia\dodaj.php on line 94
W jaki sposób mogę ten błąd rozwiązać? Siedzę nad tym od kilku godzin, korzystałem z wyszukiwarki zarówno na forum, jak i GOOGLE, lecz niestety nie znalazłem rozwiązania mojego problemu. Korzystałem również z:
KLIK
KLIK
KLIK
KLIK
Będę Wam bardzo wdzięczny za jakąkolwiek pomoc/wskazówkę.
Już sobie poradziłem. Bez żadej pomocy po kilku minutach myślenia udało się

{ { { $NewImageName = $t."_".$value; $uploaded = "img/".$NewImageName. $_FILES["images"][$key]; $znak = imagecreatefrompng('images/wodny.png'); $img = imagecreatefromjpeg($_FILES["images"]['tmp_name'][$key]); $plik_w = imagesx($img); $plik_h = imagesy($img); $znaczek_w = imagesx($znak); $znaczek_h = imagesy($znak); $od_x = $plik_w - $znaczek_w; $od_y = $plik_h - $znaczek_h; imagecopy($img, $znak, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h); imagejpeg($img, $_FILES["images"]['tmp_name'][$key], 100); $MyImages[] = $NewImageName; } } { }