Watermark la Upload poze, verificare daca exista

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
nutzu123
Mesaje:83

Watermark la Upload poze, verificare daca exista

Salut am scriptul de upload de pe site si as vrea daca se poate sa-mi zica cineva cum fac atunci cand incarc o poza sa se adauge automat un logo.png intr-un colt al pozei gen neogen.ro atunci cand adaugi o poza se modifica singura si apare logo-ul site-ului in coltul pozei? :? Am cautat si pe google dar nu am gasit mai nimic. :(
Si mai am o chestie la acest script de mai jos: adica atunci cand adaug poate inca o poza si are acelasi nume sa nu ma lase sa adaug sa-mi dea eroare si sa-mi zica "Aceasta poza exista deja!"

Cod: Selectaţi tot

<?php 
$uploadpath = "../cover/";
$ext = '_www.Site.ro';
$max_size = 1000;
$allowtype = array('bmp', 'gif', 'jpg', 'jpeg', 'png');

if(isset($_POST['submit'])) {
  if (isset ($_FILES['fisiere'])) {
    $uploadpath = $uploadpath . basename( $_FILES['fisiere']['name']);
    $type = end(explode(".", strtolower($_FILES['fisiere']['name'])));
    $uploadpath = str_replace(".$type", "$ext.$type", $uploadpath);
    $uploadpath = str_replace(' ', '_', $uploadpath);

    if (in_array($type, $allowtype)) {
      if ($_FILES['fisiere']['size']<=$max_size*1000) {
        if(move_uploaded_file($_FILES['fisiere']['tmp_name'], $uploadpath)) { 
          echo "<table class='ok'>
<tr>
<td class='td4'><img src='/imagini/icon_ok.png' alt='ok' /></td>
<td class='td5'>Poza a fost incarcata cu succes!<br />Link: $uploadpath</td></tr></table>"; 
        }
        else { 
          echo "<table class='eroare'>
<tr>
<td class='td4'><img src=/imagini/icon_eroare.png' alt='eroare' /></td>
<td class='td5'>A aparut o eroare la server!</td></tr></table>"; 
        }
      }
      else { echo '<table class="eroare">
<tr>
<td class="td4"><img src="/imagini/icon_eroare.png" alt="eroare" /></td>
<td class="td5">Poza depaseste marimea maxima admisa!</td></tr></table>'; }
    }
    else { echo '<table class="eroare">
<tr>
<td class="td4"><img src="/imagini/icon_eroare.png" alt="eroare" /></td>
<td class="td5">Tipul extensiei nu este permis!</td></tr></table>'; }
  }
}
?>
Daca ar avea cineva vreo solutie la problema mea as fi recunoscator, am nevoie de aceste lucruri :D

Multumesc,
Cu respect Nutzu!

MarPlo Mesaje:4343
Solutia la prima intrebare o poti gasi pe net daca dai cautare dupa "php watermark image".
La a doua problema, poti folosi functia file_exists($file), returneaza True daca adresa specificata la $file exista. Verifici cu ea, si daca returneaza True, nu mai faci upload, de exemplu ii dai exit(); sau efectuezi Upload doar daca e False.

Cod: Selectaţi tot

if (file_exists($filename)) {
    echo "Fisierul $filename exista";
} else {
   // instructiuni pt upload
} 

keenbr Mesaje:44
Functia este luata dupa site-ul meu... deci este 100% functionala

Cod: Selectaţi tot

//source file = locatia fotografiei
// destination file = unde va fi salvata ... ca sa nu ocupi loc pe server, poti da aceeasi cale cu sursa fotografiei... aceasta va fi inlocuita cu cea marcata

function watermark($SourceFile, $DestinationFile) {
   list($WIDTH, $height) = getimagesize($SourceFile);
   $image_p = imagecreatetruecolor($WIDTH, $height);
   $image = imagecreatefromjpeg($SourceFile);
   
$watermark = @imagecreatefrompng('watermark.png'); //logo tau png care va apare pe imagine
$imageWIDTH = imagesx($image);
$imageheight = imagesy($image); 
$watermarkWIDTH = imagesx($watermark);
$watermarkheight = imagesy($watermark);
$startWIDTH = $imageWIDTH-250;
$startheight = $imageheight-150;
imagecopy($image, $watermark,  $startWIDTH, $startheight, 0, 0, $watermarkWIDTH, $watermarkheight);
   
   imagecopyresampled($image_p, $image, 0, 0, 0, 0, $WIDTH, $height, $WIDTH, $height);

   if ($DestinationFile<>'') {
      imagejpeg ($image_p, $DestinationFile, 100);
   } else {
      header('Content-Type: image/jpeg');
      imagejpeg($image_p, null, 100);
   };
   imagedestroy($image);
   imagedestroy($image_p);
}

nutzu123 Mesaje:83
ms :D ;)

Subiecte similare