2012-02-23 61 views
0

除非我誤會,否則以明顯的方式進行下載兩次。如何在file_get_contents()之後getimagesize()?

$image = file_get_contents($location); 
$checkImage = getimagesize($location); 

我想知道如何在不下載兩次的情況下做到這一點。在get_image_size()內部放置$image不起作用,所以我不知道該怎麼做。我發現我的tmp文件夾,但是當我跑頁面測試時,我沒有看到任何東西出現,所以我不知道該去哪裏。如果我需要指定$image(我認爲這是我需要做的)的實際位置,我不知道如何找到它。

回答

7
$binary_data = file_get_contents($location); 
$im = imagecreatefromstring($binary_data); 
$width = imagesx($im); 
$height = imagesy($im); 
+0

你能得到的文件類型這種方式?我實際上使用getimagesize來驗證它是一個圖像,並確保它在給它一個隨機名稱後得到正確的文件擴展名。 – townie 2012-02-23 07:49:32

+0

然後,你必須緩存文件到一個臨時路徑,然後做你的動作 – Ashraf 2012-02-23 07:53:57

+0

這就是我問的。 – townie 2012-02-23 07:56:15

1
$image = file_get_contents($location); 
    $checkImage = getimagesizefromstring($image);