2012-12-22 31 views
5

Xin chào tôi có ít vấn đề với hình ảnh hiển thị sau khi làm cho nó đối tượng. Tôi vẫn đang học cách sử dụng hình ảnh đối tượng. Vì vậy, đây là mã của tôi:imagecreatefromjpeg không hoạt động

$what = getimagesize($file); 
switch(strtolower($what['mime'])){ 
    case 'image/png' : $src_id = imagecreatefrompng($file); imagesavealpha($src_id,true) ; break; 
    case 'image/jpeg': $src_id = imagecreatefromjpeg($file); break; 
    case 'image/gif' : $old_id = imagecreatefromgif($file); $src_id = imagecreatetruecolor($what[0],$what[1]); imagecopy($src_id,$old_id,0,0,0,0,$what[0],$what[1]); break; 
    default: die(); 
} 
header('Content-Type: image/jpeg'); 
imagejpeg($scr_id); 
imagedestroy($scr_id); 
die(); 

Trình duyệt hiển thị hình ảnh trống với văn bản "Hình ảnh". Trên $ file i cung cấp URL của tệp. Bất kỳ ý tưởng nào?

+0

Bạn đã kiểm tra $ src_id không đúng? – Codler

Trả lời

9

Điều này được kiểm tra chính xác cho tôi.

<?php // RAY_temp_andrey.php 
error_reporting(E_ALL); 

$file = 'http://laprbass.com/RAY_EE_images/headshot.png'; 
$file = 'http://laprbass.com/RAY_EE_images/headshot.jpg'; 
$file = 'http://laprbass.com/RAY_EE_images/headshot.gif'; 

$what = getimagesize($file); 

switch(strtolower($what['mime'])) 
{ 
    case 'image/png': 
     $img = imagecreatefrompng($file); 
     break; 
    case 'image/jpeg': 
     $img = imagecreatefromjpeg($file); 
     break; 
    case 'image/gif': 
     $img = imagecreatefromgif($file); 
     break; 
    default: die(); 
} 
$new = imagecreatetruecolor($what[0],$what[1]); 
imagecopy($new,$img,0,0,0,0,$what[0],$what[1]); 

header('Content-Type: image/jpeg'); 
imagejpeg($new); 
imagedestroy($new); 
+0

Cảm ơn bạn đã thử nghiệm, tôi thực sự đánh giá cao sự giúp đỡ của bạn. Có thể nó ở đâu đó trong mã của anh ấy nơi tôi sử dụng chức năng này - tôi có thể cung cấp tệp tạm thời hay tôi phải lưu nó (Đây là chức năng thay đổi kích thước của tôi)? $ Img = Images :: DoImage ($ _FILES ["Hình ảnh"] ["tmp_name"], 200.300); – Andrey

+2

Trước tiên bạn nên tải lên các tệp và lưu chúng, sau đó thực hiện bất kỳ thay đổi kích thước hoặc định dạng lại nào. –