PHP uploads van afbeeldingen watermerken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ardjuna Veenstra

Ardjuna Veenstra

24/10/2011 23:29:42
Quote Anchor link
Ik zit momenteel al een tijdje met een probleem dat ik maar niet opgelost krijg. In deze script worden afbeeldingen geupload en de locatie aangegeven. Ik ben nu bezig om een watermerk te plakken op afbeeldingen voor extra promotie van mijn website. Helaas begrijp ik er heel weinig van. Ik heb al een aantal dingen in php gemaakt maar dit is geheel nieuw voor mij. Ik heb al tientallen tutorials geprobeerd maar wordt er niet veel wijzer van.

Maar goed, dit is het script waar ik momenteel gebruik van maak:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$target
= "dev/images/";
$target = $target . basename( $_FILES['photo']['name']);

$title=$_POST['Title'];
$pic= basename ($_FILES['photo']['name']);

// Connects to the database
mysql_connect("localhost", "database", "password") or die(mysql_error());
mysql_select_db("database_database") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO images(Title, Link, Date, Filetype) VALUES ('$title', 'images/$pic', CURDATE(), 'afbeelding')");
mysql_query("INSERT INTO grabbelton(Link, Date) VALUES ('images/$pic', CURDATE())");


if($_FILES['photo']['type'] == "image/png" || $_FILES['photo']['type'] == "image/jpeg") {
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory! <br />";
echo $title . "<br />";
echo $pic;
}


else {
echo "Sorry, there was a problem uploading your file.";
}    
}

else {
echo "unsupport file format!";
}

?>


Wat moet ik veranderen zodat ik bijvoorbeeld 'watermark.png' onderaan een afbeelding kan plakken? Ik hoop dat jullie mij op weg kunnen helpen.
 
PHP hulp

PHP hulp

24/12/2024 18:35:42
 
Gert Poot

Gert Poot

24/10/2011 23:53:04
Quote Anchor link
Ardjuna Veenstra op 24/10/2011 23:29:42:
Ik zit momenteel al een tijdje met een probleem dat ik maar niet opgelost krijg. In deze script worden afbeeldingen geupload en de locatie aangegeven. Ik ben nu bezig om een watermerk te plakken op afbeeldingen voor extra promotie van mijn website. Helaas begrijp ik er heel weinig van. Ik heb al een aantal dingen in php gemaakt maar dit is geheel nieuw voor mij. Ik heb al tientallen tutorials geprobeerd maar wordt er niet veel wijzer van.

Maar goed, dit is het script waar ik momenteel gebruik van maak:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$target
= "dev/images/";
$target = $target . basename( $_FILES['photo']['name']);

$title=$_POST['Title'];
$pic= basename ($_FILES['photo']['name']);

// Connects to the database
mysql_connect("localhost", "database", "password") or die(mysql_error());
mysql_select_db("database_database") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO images(Title, Link, Date, Filetype) VALUES ('$title', 'images/$pic', CURDATE(), 'afbeelding')");
mysql_query("INSERT INTO grabbelton(Link, Date) VALUES ('images/$pic', CURDATE())");


if($_FILES['photo']['type'] == "image/png" || $_FILES['photo']['type'] == "image/jpeg") {
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory! <br />";
echo $title . "<br />";
echo $pic;
}


else {
echo "Sorry, there was a problem uploading your file.";
}    
}

else {
echo "unsupport file format!";
}

?>


Wat moet ik veranderen zodat ik bijvoorbeeld 'watermark.png' onderaan een afbeelding kan plakken? Ik hoop dat jullie mij op weg kunnen helpen.
 
- Ariën  -
Beheerder

- Ariën -

25/10/2011 00:03:13
Quote Anchor link
Quotefail?
 
Victor -

Victor -

25/10/2011 00:13:27
Quote Anchor link
Kijk eens naar de GD library
 
Ardjuna Veenstra

Ardjuna Veenstra

25/10/2011 00:20:55
Quote Anchor link
U bedoelt dit?
http://www.sitemasters.be/tutorials/1/1/260/PHP/Gd_Library_Deel_1

Ziet er wel ingewikkeld uit.

edit:

Ik zie alleen maar broken images, zo ver was ik al. ;)
Gewijzigd op 25/10/2011 00:22:53 door Ardjuna Veenstra
 
- Ariën  -
Beheerder

- Ariën -

25/10/2011 00:25:08
Quote Anchor link
Haal de header() in dat geval eens weg en je ziet meestal een PHP-error wat je wat meer mee kan.
 
Ardjuna Veenstra

Ardjuna Veenstra

25/10/2011 00:33:40
Quote Anchor link
Dan krijg ik dit:
‰PNG  IHDR–È0KŠ&PLTEÿÿÿ§ÄÈIDATH‰íÁ1 õOm  €· *çIEND®B`‚

Is het niet mogelijk om deze script toe te voegen met mijn eigen script?
http://www.codeforest.net/add-watermark-on-image-using-php

Of misschien deze:
http://www.weberdev.com/get_example.php3?ExampleID=4640
Gewijzigd op 25/10/2011 00:35:25 door Ardjuna Veenstra
 
Albert de Wit

Albert de Wit

25/10/2011 11:28:29
Quote Anchor link
http://www.youtube.com/watch?v=KvbvK9cnQaI&feature=relmfu

Heel erg duidelijk en ook heel goed te begrijpen tutorial. Hij is wel in het engels maar dat zou geen probleem moeten zijn sinds bijna elke programmeur uitstekend engels kan.
Gewijzigd op 25/10/2011 11:32:08 door Albert de Wit
 
Ardjuna Veenstra

Ardjuna Veenstra

25/10/2011 22:13:15
Quote Anchor link
Albert de Wit op 25/10/2011 11:28:29:
http://www.youtube.com/watch?v=KvbvK9cnQaI&feature=relmfu

Heel erg duidelijk en ook heel goed te begrijpen tutorial. Hij is wel in het engels maar dat zou geen probleem moeten zijn sinds bijna elke programmeur uitstekend engels kan.


Bof ik weer ff dat ik naar de middelbaar ben geweest. :p

Hopelijk worden mijn vragen beantwoord. Het liefst wil ik het zelf doen maar ben al zo lang bezig geweest dat het me meer irritatie dan voldoening oplevert.


Toevoeging op 25/10/2011 23:51:14:

Nope, dat is mijn vraag niet.

Ik wil weten hoe een script zoals deze:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
function watermark($sourcefile, $watermarkfile, $saveFile)
{

    #
    # $sourcefile = Filename of the picture to be watermarked.
    # $watermarkfile = Filename of the 24-bit PNG watermark file.
    #
    
    //Get the resource ids of the pictures

    $watermarkfile_id = imagecreatefrompng($watermarkfile);
    
    imageAlphaBlending($watermarkfile_id, false);
    imageSaveAlpha($watermarkfile_id, true);
    $fileType = strtolower(substr($sourcefile, strlen($sourcefile)-3));
    
    switch($fileType)
    {
        case(
'gif'):
            $sourcefile_id = imagecreatefromgif($sourcefile);
        break;
        
        case(
'png'):
            $sourcefile_id = imagecreatefrompng($sourcefile);
        break;
        
        default:

            $sourcefile_id = imagecreatefromjpeg($sourcefile);
    }

    
    //Get the sizes of both pix    
    $sourcefile_width=imageSX($sourcefile_id);
    $sourcefile_height=imageSY($sourcefile_id);
    $watermarkfile_width=imageSX($watermarkfile_id);
    $watermarkfile_height=imageSY($watermarkfile_id);
    
    if(isset($_REQUEST['imgPhoto_x']))
    {
        
        $dest_x = $_REQUEST['imgPhoto_x'];
        $dest_y = $_REQUEST['imgPhoto_y'];
    }

    else
    {
        $dest_x = ( $sourcefile_width / 2 ) - ( $watermarkfile_width / 2 );
        $dest_y = ( $sourcefile_height / 2 ) - ( $watermarkfile_height / 2 );
    }
    
    
    // if a gif, we have to upsample it to a truecolor image
    if($fileType == 'gif')
    {

        // create an empty truecolor container
        $tempimage = imagecreatetruecolor($sourcefile_width,$sourcefile_height);
        
        // copy the 8-bit gif into the truecolor image
        imagecopy($tempimage, $sourcefile_id, 0, 0, 0, 0,$sourcefile_width, $sourcefile_height);
        
        // copy the source_id int
        $sourcefile_id = $tempimage;
    }

    imagecopy($sourcefile_id, $watermarkfile_id, $dest_x, $dest_y, 0, 0,$watermarkfile_width, $watermarkfile_height);
    //Create a jpeg out of the modified picture
    switch($fileType)
    {

        // remember we don't need gif any more, so we use only png or jpeg.
        // See the upsaple code immediately above to see how we handle gifs

        case('png'):
            //header("Content-type: image/png");
            imagepng ($sourcefile_id);
        break;
        
        default:

            //header("Content-type: image/jpg");
            if(imagejpeg ($sourcefile_id,$saveFile))
            {
            }

        //echo "<img src='$saveFile'>";
    }        
      
    imagedestroy($sourcefile_id);
    imagedestroy($watermarkfile_id);
    return true;
}

?>


Moet toegvoegen aan mijn upload script. Ik heb geen idee hoe ik moet aangeven dat de geuploade image moet worden toegevoegd.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.