Autor Zpráva
surfer
Profil *
Dobrý den, chci se zepatat na vyvolání watermarku. Zdroj jsem našel na této stránce, ale nějak nevím jak ho použít :-(

Mám ho dát jako include a potom se na něj nějak odkazovat pomocí
<img src="watermark.php"> nebo <img src="obrazek.jpg" '.watermarkbyimage("obrazek.jpg").'>


Děkuju předem všem za radu
TFSi
Profil
Odkazovat budeš třeba <img src="watermark.php?image=obrazek.jpg">

A watermark.php potom bude:
<?php
function watermarkbyimage(...) {
 ...
}

header('Content-type: image/jpeg');
watermarkbyimage($_GET['image'], 'watermark.gif', null, 10, 10, 'top', 'right');
?>


Ovšem:
1) takhle to nebude zrovna nejpezpečnější (chce to přidat nějakou kontrolu jestli se ten obrázek z $_GET['image'] opravdu vyskytuje v nějakém adresáři s obrázky)
2) bude to hodně zatěžovat server - při každém požadavku se bude muset vodoznak vytvořit znovu (tzn. přidat nějaké kešování - nebo nejlépe přidávat ten vodoznak do obrázku už při uploadu)
surfer
Profil *
Aha, děkuju Vám moc. Splnim bod 2.
surfer
Profil *
Nějak se mi to nedaří :-( Co furt dělám špatně?

$koncovky = array('jpg', 'jpeg', 'png', 'gif');
if (!$_FILES || $_FILES["obrazek"]["error"] == UPLOAD_ERR_INI_SIZE) {
    $chyba = "<div class=\"error\">Soubor je příliš velký, maximální velikost je " . ini_get('upload_max_filesize') . ".</div>\n";
} elseif ($_FILES["obrazek"]["error"] == UPLOAD_ERR_NO_FILE) {
    $chyba = "<div class=\"error\">Nevybrali jste soubor, který chcete nahrát.</div>\n";
} elseif ($_FILES["obrazek"]["error"]) {
    $chyba = "<div class=\"error\">Soubor se nepodařilo nahrát, kontaktujte prosím správce serveru.</div>\n";
} elseif (!in_array(strtolower(pathinfo($_FILES["obrazek"]["name"], PATHINFO_EXTENSION)), $koncovky)) {
    $chyba = "<div class=\"error\">Koncovka souboru musí být jedna z: " . implode(", ", $koncovky) . ".</div>\n";
} elseif (!($imagesize = getimagesize($_FILES["obrazek"]["tmp_name"])) || $imagesize[2] > 3) {
    $chyba = "<div class=\"error\">Typ obrázku musí být JPG, PNG nebo GIF.</div>\n";
} else {
    
    move_uploaded_file($_FILES["obrazek"]["tmp_name"], "../../../image/fotogalery/".watermarkbyimage($f1, "TEST", 10,  10, "top", "right")."");
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: