Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Problemer med at pinpointe resized billede php

Side 1 ud af 1 (3 indlæg)
  • 1
Tilmeldt 1. Sep 16
Indlæg ialt: 1
Skrevet kl. 18:23
Hvor mange stjerner giver du? :

Jeg har en upload funktion med resize funktion. Det som sker når jeg uploader et billede, er at det oprindelige billede bliver uploadet til remote server. Det mindre billede/kopien ender i samme niveau hvor uploadfunktionen har sin rod.

Det jeg ønsker er at det lille billede overskriver det store og uploades i stedet.

Kode følger:

if (isset($_FILES['file'])) {
$fileTempName = $_FILES['file']['tmp_name'];
$fileName = $_FILES['file']['name'];
$fileType = $_FILES['file']['type'];
$fileError = $_FILES['file']['error'];
$fileSize = $_FILES['file']['size'];

$kaboom = explode('image/', $fileType);
$extendsion = end($kaboom);

$imageWidth = getimagesize($fileTempName);

$allowedMimeType = array('png', 'jpeg', 'jpg', 'gif');
if (in_array($extendsion, $allowedMimeType)) {
    if ($imageWidth[0] < 330) {
        echo "To small";
    } else {
        /*Resize*/        
        $w = 330;
        $h = 330;
        list($w_orig, $h_orig) = getimagesize($fileTempName);
        $scale_ratio = $w_orig / $h_orig;
        if (($w / $h) > $scale_ratio) {
            $w = $h * $scale_ratio;
        } else {
            $h = $w / $scale_ratio;
        }
        $img = "";
        $newcopy = $fileName;
        $ext = strtolower($extendsion);
        if ($ext == "gif") {
            $img = imagecreatefromgif($fileTempName);
        } else if ($ext == "png") {
            $img = imagecreatefrompng($fileTempName);
        } else {
            $img = imagecreatefromjpeg($fileTempName);
        }
        $tci = imagecreatetruecolor($w, $h);

        imagecopyresampled($tci, $img, 0, 0, 0, 0, $w, $h, $w_orig, $h_orig);        
        imagejpeg($tci, $newcopy, 75);
       
        /*transfer to external Server curl*/
        $ch = curl_init();
        $cfile = new CURLFile($fileTempName, $fileType, $newcopy);
        $data = array("file" => $cfile);
                
        curl_setopt($ch, CURLOPT_URL, "http://external-server.eu/uploaded.php");
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        $respons = curl_exec($ch);

        if ($respons == true) {
            echo "Success";
        } else {
            echo "Something went wrong!";
        }
        curl_close($ch);

    }
}
}

Fra Odder
Tilmeldt 17. Jun 12
Indlæg ialt: 193
Fra  Todic Net Skrevet kl. 23:21
Hvor mange stjerner giver du? :

Jeg har ikke lige kigget alt din kode helt nøje igennem, men tænker du skal lave noget i stilen med dette :

UDSKIFT :

$data = array("file" => $cfile);

MED :

$data = array("file" => readfile($newcopy) );

Fra Odder
Tilmeldt 17. Jun 12
Indlæg ialt: 193
Fra  Todic Net Skrevet kl. 23:24
Hvor mange stjerner giver du? :

Crap, kan ikke redigere mit indlæg, men du skal kigge på linjen :

$cfile = new CURLFile($fileTempName, $fileType, $newcopy);

og lade denne være intakt. :

$data = array("file" => $cfile);

Men som jeg ser det, er det allerede "newcopy" du uploader.

Side 1 ud af 1 (3 indlæg)