2012-02-29 44 views
0

如何在運行時預覽圖像?我有上傳腳本和重新大小功能。但圖像沒有在運行時顯示。我不想保存iamge.Just調整大小和顯示在運行time.Image必須從內存中不顯示從目錄中。我是想這樣的事情:在運行時調整圖像大小php

if ($_FILES['myfile']['error'] == 0) 
    { 
    $theImageToResize=$_FILES['myfile']['name']; 

    $afterResize=Resize($theImageToResize); 

    echo $theImageToResize.'---->image after resize'; 
    } 

[只想從目錄中memory.Not顯示圖片]

服務器端代碼:

$savefolder = 'images'; //upload dir 
    $max_size = 35000; //in bytes 

    // image types 
    $allowtype = array('bmp', 'gif', 'jpg', 'jpeg', 'gif', 'png'); 
    $res = ''; 
    // if is received a valid file 
    if (isset ($_FILES['myfile'])) { 


$type = end(explode(".", strtolower($_FILES['myfile']['name']))); 
if (in_array($type, $allowtype)) { 

if ($_FILES['myfile']['size']<=$max_size*1000) { 

    if ($_FILES['myfile']['error'] == 0) { 

    $thefile = $savefolder . "/" . $_FILES['myfile']['name']; 

    $theImageToResize=$_FILES['myfile']['name']; 


     header('Content-type: image/jpeg'); 

     $res = '<img src="'.$theImageToResize.'" />'; 


     } 
    } 
    else { $res = 'The file <b>'. $_FILES['myfile']['name']. '</b> exceeds max Size   <i>'. $max_size. 'KB</i>'; } 
} 
       else { $res = 'The file <b>'. $_FILES['myfile']['name']. '</b> has not an allowed File Tyle..'; } 
      } 


      $res = urlencode($res); 
     echo '<body onload="parent.doneloading(\''.$res.'\')"></body>'; 
+0

如果我是你,我會用javascript做到這一點。 – markus 2012-02-29 08:25:22

回答

0

如果你有二進制數據包含在手的形象,你可以使用a data URI呼應的<img>標籤與圖像嵌入,像這樣:

$imageData = /* binary image data */ 
$mimeType = 'image/jpg'; // or image/gif or image/png, must be accurate 
printf('<img src="data:%s;base64,%s" alt="resized image" />', 
     $mimeType, base64_encode($imageData)); 

這允許您輸出調整大小的圖像作爲網頁的一部分。如果你想顯示只是的圖像,你可以簡單地輸出一個合適的標題,然後呼應二進制數據:

header('Content-type: image/jpg'); 
echo $imageData; 
die; 
+0

我使用ajax從窗體發送圖像,服務器應顯示圖像simply.I可以添加調整大小和圖像功能..但我沒有得到任何圖像的響應.. – 2012-02-29 08:15:33

+0

請看看代碼編輯爲服務器端PHP腳本 – 2012-02-29 08:21:31

0
$_FILES['myfile']['name'] 

包含文件名,而不是位置,使用

$_FILES['myfile']['tmpname'] 

代替。 調整閱讀關於imagecopyresampled PHP函數的閱讀 - 關於PHP圖像調整大小的教程。要輸出圖像,請使用imagejpeg或imagepng功能 - 此功能會將圖像輸出到瀏覽器。不要忘了正確的標題,如

header('Content-type: image/jpeg'); 
+0

我發送圖像使用ajax的形式和服務器應該顯示圖像simply.I可以添加調整大小和圖像功能..但我沒有得到任何圖像的響應.. – 2012-02-29 08:15:58