Php ile sunucuya görüntü kaydetme

2 Cevap php

Hey i aşağıdaki script var, Temelde bir flash dosyası bunu bazı verileri gönderir ve onu bir görüntü oluşturur ve daha sonra sorun ne olur, gelir orada system.Here onlar görüntüyü kaydedebilirsiniz böylece bir kullanıcı için iletişim kutusu olarak kaydetmek açılıyor ben de benim sunucuya görüntü kaydetme hakkında gitmek?

<?php

$to = $_POST['to'];
$from = $_POST['from'];
$fname = $_POST['fname'];
$send = $_POST['send'];

$data = explode(",", $_POST['img']);
$width = $_POST['width'];
$height = $_POST['height'];
$image=imagecreatetruecolor( $width ,$height );
$background = imagecolorallocate( $image ,0 , 0 , 0 );
//Copy pixels
$i = 0;
for($x=0; $x<=$width; $x++){
    for($y=0; $y<=$height; $y++){
        $int = hexdec($data[$i++]);
        $color = ImageColorAllocate ($image, 0xFF & ($int >> 0x10), 0xFF & ($int >> 0x8), 0xFF & $int);
        imagesetpixel ( $image , $x , $y , $color );
    }
}
//Output image and clean
#header("Content-Disposition: attachment; filename=test.jpg" );
header("Content-type: image/jpeg");

ImageJPEG( $image );
imagedestroy( $image ); 
?>

Yardım büyük mutluluk duyacağız!

2 Cevap

imagejpeg( $image, $filename );

$filename için görüntüyü kurtaracak. Yani aslında yapabilirdi

imagejpeg( $image, $filename );
imagedestroy( $image );
readfile( $filename );

yerine sadece çağrı

imagejpeg( $image );

Böylece çoğaltılamaz çaba tasarruf biraz meraklısı yolu, gibi bir şey olurdu

/* start output buffering to save output */
ob_start();
/* output image as JPEG */
imagejpeg( $image );
/* save output as file */
ob_flush();
file_put_contents( $filename, ob_get_contents() );