1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Uploader e Watermarker

Discussão em 'Web Development' iniciada por tpad, 14 de Maio de 2008. (Respostas: 3; Visualizações: 564)

  1. Olá a todos!
    Preciso de desenvolver um script que faça upload de imagens e depois as watermark. Comecei com o seguinte:

    Código:
    <?php 
    $target_path = "images/";
    $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
        echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
        " has been uploaded";
    } else{
        echo "There was an error uploading the file, please try again!";
    }
    $imagesource = $_SERVER['images/basename( $_FILES['uploadedfile']['name'])'] . "/" . $_GET['path']; 
    if (!file_exists($imagesource)) die(Your image upload wasn't successfully completed); 
    $filetype = strtolower(substr($imagesource,strlen($imagesource)-4,4)); 
    if($filetype == ".gif") $image = @imagecreatefromgif($imagesource);  
    if($filetype == ".jpg") $image = @imagecreatefromjpeg($imagesource);  
    if($filetype == ".png") $image = @imagecreatefrompng($imagesource);  
    if (empty($image)) die(); 
    $watermark = @imagecreatefromgif('watermark.gif'); 
    $imagewidth = imagesx($image); 
    $imageheight = imagesy($image);  
    $watermarkwidth = imagesx($watermark); 
    $watermarkheight = imagesy($watermark); 
    $startwidth = (($imagewidth - $watermarkwidth)/2); 
    $startheight = (($imageheight - $watermarkheight)/2); 
    imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight); 
    header("Content-type: image/jpeg"); 
    imagejpeg($image); 
    imagedestroy($image); 
    imagedestroy($watermark); 
    ?> 
    
    Sendo o form html:
     
    <form enctype="multipart/form-data" action="try.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    Choose a file to upload: <input name="uploadedfile" type="file" /><br />
    <input type="submit" value="Upload File" />
    </form>
    No entanto, dá me o seguinte erro:

    Parse error: syntax error, unexpected T_STRING, expecting ']' in C:\xampp\htdocs\try.php on line 14

    Muito obrigado a todos os que me puderem responder :007:
     
    Última edição pelo moderador: 17 de Maio de 2008
  2. vá lá programadores de php! respondam por favor
     
  3. MPalhas

    MPalhas Power Member

    suponho que a linha 14 seja esta:


    $imagesource = $_SERVER['images/basename( $_FILES['uploadedfile']['name'])'] . "/" . $_GET['path'];

    tens que ter cuidado com as aspas/pelicas.
    nesse caso estás a abrir pelica depois de $_SERVER[' , mas estás a fechá-la em $_FILES[' , e por ai fora

    podes usar aspas e pelicas misturadas para corrigir isso, mas como são arrays também implica usar {}. eu prefiro fazer assim:

    $imagesource = $_SERVER['images/basename('.$_FILES['uploadedfile']['name'].')'] . "/" . $_GET['path'];

    penso que seja isto que queiras.
     
  4. Muito Obrigado, MPalhas!
     

Partilhar esta Página