2011-09-15 78 views
0

圖像我剛纔寫的代碼來生成一個圖像生成並保存與PHP

<?php 

$canvas = imagecreatetruecolor(800, 350); 

$pink = imagecolorallocate($canvas, 255, 105, 180); 
$white = imagecolorallocate($canvas, 255, 255, 255); 
$green = imagecolorallocate($canvas, 132, 135, 28); 

imagefill($canvas, 0, 0, $white); // BACKGROUND 

function drawlinebox($x1, $y1, $x2, $y2, $height, $color){ 
    global $canvas; 
    imagesetthickness ($canvas, 1); 
    for ($i=1; $i < $height; $i++){ 
     imageline($canvas, $x1, $y1, $x2, $y2, $color); 
     $y1++; $y2++; 
    } 
} 

drawlinebox(20, 20, 780, 300, 30, $green); 

drawlinebox(20, 300, 780, 20, 30, $pink); 

// Output and free from memory 
header('Content-Type: image/png'); 

imagepng($canvas, NULL, 9); 

imagedestroy($canvas); 

?> 

但我也希望此圖片在服務器上自動保存。 認爲它是一個cron工作。創建圖像,然後將圖像保存在服務器上供以後使用,並將保存的圖像位置插入到數據庫中。

+0

「皇冠工作」是什麼意思? – bejonbee

+0

對不起,我的意思是寫cron工作。 – Ameer

回答

6

如手冊中所述,imagepng()的第二個參數是$filename,它允許您將結果存儲在文件中。

+0

我想直接存儲在MySQL中的圖像,而不存儲在文件(甚至不是臨時),它怎麼可能通過使用'ob_start()'與'imagepng()'結合使用可能 – Mani

+0

@Mani請參見http:///www.php.net/manual/en/function.imagepng.php#53021。但它可能不是一個好主意 - 在數據庫中存儲圖像有很多爭論:[在DB中存儲圖像 - 是或否?](http://stackoverflow.com/q/3748) –