Avatar billede Mik2000 Professor
19. juli 2008 - 01:11 Der er 14 kommentarer og
1 løsning

Eksempe på brugen af artiel 1132

Hej

Er der ikke en som kan vise hvordan artikel http://www.eksperten.dk/artikler/1132 brges, da den kun indehoder et script, og mit vil ikke virke.
Avatar billede fant0mas Nybegynder
19. juli 2008 - 11:20 #1
include_once 'jakobdos_funktioner.php';

watermark( $filename, $newfilename, $watermark='watermark.png', $quality=85 );
Avatar billede jakobdo Ekspert
19. juli 2008 - 11:24 #2
<?php
//HUSK AT CHMOD /temp/ til 777
//Du skal have et png billede i samme mappe som denne fil ved navn: watermark.png (det kan selvfølgelig rettes)
//billede.jpg vil bliver watermarked med watermark.png og gemt som watermarked_billede.jpg
include_once 'jakobdos_funktioner.php';
watermark('billede.jpg','/temp/watermarked_billede.jpg');
?>
Avatar billede Mik2000 Professor
23. juli 2008 - 23:01 #3
Når jeg prøver det:

<?
include_once 'jakobdos_funktioner.php';
// Ovenstående er rettet til den rigtige fil

watermark('billede.jpg','/temp/watermarked_billede.jpg');
// Der ligger en fil kaldet billede.jpg i samme mappe som watermark.php hvor det køres fra
// Billedet watermark.png ligger også i den mappe
?>

Så skriver den følgende:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/temp/watermarked_billede.jpg' for writing: No such file or directory in \test\watermark\watermark.php on line 73
Avatar billede Mik2000 Professor
23. juli 2008 - 23:09 #4
Hvis jeg fjerner /temp/ og ligger det løst så kommer kun:
Warning: Wrong parameter count for imagecopy() in test\watermark\watermark_func.php on line 58

Så opretter den en ny fil men den sætter ikke watermarket på
Avatar billede jakobdo Ekspert
24. juli 2008 - 06:59 #5
Har du en mappe som hedder temp ?
Har du husket at chmod'e mappen 777 ?
Avatar billede Mik2000 Professor
27. juli 2008 - 13:08 #6
Yeps der er lavet en mappe som hedder temp som er CHMOD 777

Jeg har lagt tingene i en mappe kaldet /watermark/
I den mappe ligger følgende:
watermark.php
watermark_include filen (funktionen)
billede.jpg
watermark.png
En mappe kaldet temp som er CHMOD 777
Avatar billede jakobdo Ekspert
27. juli 2008 - 19:45 #7
Kan du evt. prøve at vise din fulde kode ?
Avatar billede Mik2000 Professor
29. juli 2008 - 21:41 #8
Kode i watermark.php fil:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?
require_once("watermark_func.php");


watermark('billede.jpg','watermarked_billede.jpg', $watermark='watermark.png', $quality=85);
?>
</body>
</html>


----------------------------------------------------

Kode i watermark_func.php:
<?
function getExt($filename)
{
return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
}

function watermark( $filename, $newfilename, $watermark='watermark.png', $quality=85 )
{
$ext = getExt( $filename );
switch($ext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
$srcim = imagecreatefromjpeg( $filename );
break;
case 'gif':
$srcim = imagecreatefromgif( $filename );
break;
case 'png':
$srcim = imagecreatefrompng( $filename );
break;
default:
return false;
}

$srcw = imagesx($srcim);
$srch = imagesy($srcim);

$wext = getExt( $watermark );
switch($wext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
$watim = imagecreatefromjpeg( $watermark );
break;
case 'gif':
$watim = imagecreatefromgif( $watermark );
break;
case 'png':
$watim = imagecreatefrompng( $watermark );
break;
default:
return false;
}

$watw = imagesx($watim);
$wath = imagesy($watim);

if($watw > $srcw || $wath > $srch)
{
return false;
}

$dest_x = $srcw - $watw;
$dest_y = $srch - $wath;
imagecopy($srcim, $watim, $dest_x, $dest_y, 0, 0, $watw, $wath, 100 );

switch($ext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
imagejpeg( $srcim, $newfilename, $quality );
break;
case 'gif':
imagegif( $srcim, $newfilename );
break;
case 'png':
$png_q = floor( abs( $quality / 10 - 9.9 ) );
imagepng( $srcim, $newfilename, $png_q );
break;
default:
return false;
}
imagedestroy( $srcim );
imagedestroy( $watim );
return file_exists($newfilename);
}

?>
Avatar billede jakobdo Ekspert
29. juli 2008 - 23:12 #9
Ret lige kaldet:

watermark('billede.jpg','watermarked_billede.jpg', $watermark='watermark.png', $quality=85);
til:

watermark('billede.jpg','watermarked_billede.jpg');
Avatar billede Mik2000 Professor
01. august 2008 - 01:18 #10
Det har jeg også prøvet. Prøvede bare det andet i et desperat forsøg :)
Avatar billede jakobdo Ekspert
01. august 2008 - 18:06 #11
Jeg ved ikke hvad jeg mere skal hjælpe med.
Scriptet virker fint hos en del brugere herinde fra, så...
Avatar billede Mik2000 Professor
04. august 2008 - 02:36 #12
Hmm det var mærkeligt :(

I har det ikke i en version som virker (f.eks. zippet filer) som jeg må få og prøve den vel?
Avatar billede jakobdo Ekspert
04. august 2008 - 10:27 #13
Alternativt kan du se om du kan få denne klasse til at virke...

http://www.eksperten.dk/artikler/1201

Og mine artikler er ikke ment som artikler, men blot kodestumper som folk efterspørger igen og igen.
Avatar billede Mik2000 Professor
12. august 2008 - 19:13 #14
Det var ærgeligt :(
Avatar billede jakobdo Ekspert
13. august 2008 - 11:58 #15
Selv tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester