upload-watermerk-admin

Gesponsorde koppelingen

PHP script bestanden

  1. upload-watermerk-admin

« Lees de omschrijving en reacties

--------------------- config.php-------------------------

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
<?php
/*
CREATE TABLE `foto_log` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`bestand` VARCHAR( 255 ) NOT NULL ,
`zien` ENUM( 'ja', 'nee' ) NOT NULL DEFAULT 'nee',
`datum` INT( 10 ) NOT NULL ,
`ip` VARCHAR( 32 ) NOT NULL
) ENGINE = MYISAM ;
*/
//--- verbinding maken met database

$username     = 'username';
$password     = '****';
$host        = 'localhost';
$database    = 'Database';        
if(mysql_connect($host,$username,$password))
{

    if(!mysql_select_db($database))
    {

        echo 'Sorry, ik kon helaas geen verbinding maken met de databasetabel!';
    }
}
else{
    echo 'Sorry, ik kon helaas geen verbinding maken met de databaseserver!';
}

?>


----------------------- upload.php ----------------------------
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
83
84
85
86
<?
include "config.php";
//--- zet path
$path = "upload/"; // met slash en chmod 777! (of lager ivm veiligheid)

//--- zet max. kb's

$maxkb = 2097152; // 2097152 gedeelt door 1024 is 2048kb = 2mb. DUS 1024 keer <aantal kb's> = $maxkb

//--- watermerk path

$path_watermerk = "watermerk.png"; // dit MOET een transparante .png zijn!!!

//--- bekijk of het bestand kleiner of net zo groot als 40 kb is en of de foto wel geupload is en of extentie wel .jpg of .jpeg is!

if ($_POST['submit'] && $_FILES['userfile']['size'] <= $maxkb && !file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['size'] && is_uploaded_file($_FILES['userfile']['tmp_name']) && (strtolower(substr($_FILES['userfile']['name'], -3)) == "jpg" || strtolower(substr($_FILES['userfile']['name'], -4)) == "jpeg"))
{

    //--- upload image naar $path
    move_uploaded_file($_FILES['userfile']['tmp_name'], $path . $_FILES['userfile']['name']);

$bestand = $_FILES['userfile']['name'];
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("INSERT INTO foto_log (bestand, datum, ip) VALUES ('".$bestand."',NOW(),'".$ip."')") or die(mysql_error());

    //--- transparante watermerk
    $watermerk = imagecreatefrompng($path_watermerk);
    $watermerk_width = imagesx($watermerk);
    $watermerk_height = imagesy($watermerk);
    imagecreatetruecolor($watermerk_width, $watermerk_height);

    //--- orriginele image
    $image = imagecreatefromjpeg($path . $_FILES['userfile']['name']);
    $size = getimagesize($path . $_FILES['userfile']['name']);

    //--- defineer de coordinaten van het watermerk - dit voorbeeld is links onder
    /*
    bijv: geuploade plaatje: 180 x 130
    watermerk groote: 50 x 16

    berekening voor coordinaten 'x' as:
    180 (breedte geuploade foto) - 50 (breedte watermerk) - 5 (ruimte rechts) = 125 pixels vanaf links

    berekening voor 'y' as:
    130 (hoogte geuploade foto) - 16 (hoogte watermerk) - 5 (ruimte onder) = 109 pixels vanaf boven
    */

    //--- dit is voor rechts boven

    $xas = $size[0] - $watermerk_width - 5;
    $yas = 5;

    //--- overschrijf het 'geuploade bestand' en voeg watermerk toe
    imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);

    //--- upload image
    imagejpeg($image, $path . $_FILES['userfile']['name']); // max. kwaliteit

    imagedestroy($image);
    imagedestroy($watermerk);

    echo "De foto is geupload.<br />";
    echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=upload.php\">";
}

else
{
    //--- errors
    if ($_POST['submit'])
    {

        if (file_exists($path . $_FILES['userfile']['name']) && $_FILES['userfile']['name'])
            echo "<b>Error! Bestand bestaat al, hernoem de foto en probeer het opnieuw.</b><p>";
        elseif ($_FILES['userfile']['size'] > $maxkb)
            echo "<b>Error! Bestand is groter dan " . $maxkb . "bytes. Verklein de foto en probeer het opnieuw</b><p>";
        elseif (strtolower(substr($_FILES['userfile']['name'], -3)) != "jpg" && strtolower(substr($_FILES['userfile']['name'], -4)) != "jpeg")
            echo "<b>Error! De foto heeft een verkeerde bestandsnaam. Er mogen alleen foto's geupload worden met als bestandsnaam .jpg.</b><p>";
        else
            echo "<b>Error! De foto is niet goed geupload of er is helemaal geen foto geupload. Probeer het opnieuw.</b><p>";
    }

    else
        echo "Selecteer een foto om te uploaden. LET OP: hij mag NIET groter zijn dan 2MB en moet in je .jpg formaat zijn.<p>";

    //--- formulier met enctype multipart/form-data ivm de file upload
    echo "<form method=\"post\" action=\"upload.php\" enctype=\"multipart/form-data\">";
    echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"" . $maxkb . "\" />";
    echo "Bestand:<br />";
    echo "<input type=\"file\" name=\"userfile\" value=\"" . $_POST['userfile'] . "\" /><br />";
    echo "<input type=\"submit\" name=\"submit\" value=\"uploaden\" />";
    echo "</form>";
}


?>


---------------------------- admin.php -------------------------------
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
<script language="javascript">
function confirmSubmit(question)
{
if (confirm(question))
    return true ;
else
    return false ;
}
</script>

<?php
include "config.php";
    
// Edit functie
if($_GET["id"]) {
if(!$upload = mysql_fetch_object(mysql_query("SELECT * FROM foto_log WHERE ID = {$_GET["id"]}"))){
echo("De foto is niet gevonden!");
echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=admin.php\">";
}

elseif($upload->zien == 'ja'){
mysql_query("UPDATE foto_log SET zien = 'nee' WHERE ID = {$_GET["id"]}");
echo "Bewerkt in niet zien.";
echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
}
else{
mysql_query("UPDATE foto_log SET zien = 'ja' WHERE ID = {$_GET["id"]}");
echo "Bewerkt in zien";
echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
}

// Delete functie
}
elseif(isset($_GET['delete'])) {
 if(file_exists("upload/".$_GET['delete'])){
  unlink("upload/".$_GET['delete']);
  mysql_query("DELETE FROM foto_log WHERE bestand = '{$_GET["delete"]}'");
  echo "Het bestand <b>".$_GET['delete']."</b> is succesvol verwijderd.<br />\n";
  echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
 }
else{
  mysql_query("DELETE FROM foto_log WHERE bestand = '{$_GET["delete"]}'");
  echo "Het bestand <b>".$_GET['delete']."</b> bestaat niet.<br />\n";
  echo "<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=admin.php\">";
 }
 }

 
$fotolog = mysql_query("SELECT * FROM foto_log ORDER BY datum") or die(mysql_error());

echo("<table cellpadding=\"3\" cellspacing=\"3\"><tr><td><b>Afbeelding:</b></td><td><b>Zien:</b></td><td>&nbsp;</td><td>&nbsp;</td></tr>\n");
while($upload = mysql_fetch_object($fotolog)) {
echo("<tr><td><a href=\"upload/" .$upload->bestand. "\" target=\"_new\"><img src=\"upload/" .$upload->bestand. "\" width=\"70\" height=\"60\" alt=\"" .$upload->bestand. "\" border=\"1\"></a></td>
<td>"
.$upload->zien. "</td>
<td><a href=\"?id="
.$upload->id. "\">Edit</a></td>
<td><a onClick=\"return confirmSubmit('Delete file \'"
.$upload->bestand. "\' ?')\" href=\"admin.php?delete=" .$upload->bestand. "\">Delete</a>
</td><td>\n"
);
}

echo "</table>\n";
?>


------------------------- zien.php -------------------------
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
include "config.php";

$fotolog = mysql_query("SELECT * FROM foto_log WHERE zien = 'ja' ORDER BY datum") or die(mysql_error());

while($upload = mysql_fetch_object($fotolog)) {
echo("<img src=\"upload/" .$upload->bestand. "\"><br />\n");
}


?>

 
 

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.