Avatar billede kischi Novice
15. september 2012 - 15:24 Der er 5 kommentarer og
1 løsning

Ændre et billede som bliver uploadet

Hej Experter,

Jeg ved ikke helt om dette er postet det rigtige sted eller om man bedst kan gøre det i et andet programmeringssprog.

Men er det muligt at ændre et billede som folk uploader automatisk og så sende det til dem i en e-mail.

For eksempel, hvis folk uploader et billede, så laver den en sort ramme omkring og indsætter et lille logo i bunden af højre hjørne.

Så alle ikke selv skal have photoshop og gøre det selv.

Jeg håber i forstår hvad jeg mener, og kan hjælpe.

På forhånd tak
Avatar billede Fnugus Nybegynder
15. september 2012 - 15:41 #1
Det kan sagtens lade sig gøre. Php har en indbyggede funktioner til billeder, oh det vil er rimelig simpelt.

Kig inde på php.net/manual/en/ref.image.php

Kig især nærmere på funktioner som imagecreatefrompng, imagecreatefromjpeg.

Det du skal være opmærksom på er, at hvis det er store billedet du arbejder med, kan du støde ind i at serveren ikke har allokeret hukommelse nok. Det er en indstilling man kan ændre hvis man har adgang til serverens indstillinger.
Avatar billede Fnugus Nybegynder
15. september 2012 - 15:42 #2
Beklager stavefejl i ovenstående.
Avatar billede kischi Novice
20. september 2012 - 20:06 #4
Hmm jeg er lidt lost,
efter at have kigget lidt på imagecreatefromjpg og png, ser det da ud til at det bruges til at skrive en fejlmeddelelse hvis man prøver at se et jpg eller et png billede.

Er det fuldtstændig forkert forstået?

Jeg har nu gjort sådan så hvis man vedhæfter et billede til min formular så bliver den sendt til den mail man har indsat.

Men hvordan er det jeg kan ændre billedets udseende før de får den sendt til deres mail.

Håber i forstår hvad jeg mener?

Min html kode ser sådan her ud:

<form enctype="multipart/form-data" action="uploader.php" method="post">
    Upload et billede: <input name="upfile" type="file" /><br />
    <div class="input-row"><label for="mail">E-mail: </label><input id="mail" name="mail" type="text" /></div>
    <input type="submit" value="Send" />
    </form>

og min php kode sådan her:

    <?php
    //*** Uniqid Session ***//
    $strSid = md5(uniqid(time()));
    $to = $_POST['mail'];
    $from = 'adamkischi@gmail.com';
    $subject = 'the subject';
    $message = 'hello';
    $headers = 'From: '.$from. "\r\n" . 'Reply-To: '.$from. "\r\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
    $headers .= "This is a multi-part message in MIME format.\n";
    $headers .= "--".$strSid."\n";
    $headers .= "Content-type: text/html; charset=utf-8\n";
    $headers .= "Content-Transfer-Encoding: 7bit\n\n";
    if($_FILES["upfile"]["name"] != "") {
    $strFilesName = $_FILES["upfile"]["name"];
    $strContent = chunk_split(base64_encode(file_get_contents($_FILES["upfile"]["tmp_name"])));
    $headers .= "--".$strSid."\n";
    $headers .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n";
    $headers .= "Content-Transfer-Encoding: base64\n";
    $headers .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
    $headers .= $strContent."\n\n";
    }
    $flgSend = @mail($to, $subject, $message, $headers); // @ = No Show Error //
    if($flgSend){
    echo "Mail send completed.";
    }
    else{
    echo "Cannot send mail.";
    }
    ?>
Avatar billede kischi Novice
02. oktober 2012 - 17:55 #5
Tak for hjælpen, men jeg fandt en løsning ved hjælp af watermark.

Det ser sådan ud:

<?php
    include_once( 'class/class.upload.php' );
    if(isset($_POST['upload'])){
        $filname=$_FILES['file_name'];
        $handle = new upload($filname);
        $handle->allowed = array('image/*');
        if($handle->uploaded){
            $handle->image_border          = 5;  // defining border width
            $handle->image_border_color    = '#000'; // defining border color
            $handle->image_watermark = 'badge.png';  // watermark image src
            $handle->image_watermark_position = 'BR'; // watermark image position again "B" for bottom and so on.
            $handle->image_resize        = true;  // making resize function to true
            $handle->image_x              = 160;    // making width to 160px
            $handle->image_y              = 160;    // making hight to 160px

Og du man skal downloade en fil på denne adresse:

http://www.verot.net/php_class_upload.htm
Avatar billede kischi Novice
02. oktober 2012 - 17:55 #6
Glemte at lave det som svar
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

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