2013-03-20 77 views
0

我從包含鏈接到照片的URL的數據庫中提取推文。調整從鏈接中提取的照片的大小

我已經能夠在我的網站上顯示照片,但它們太大了。

下面是代碼:

foreach ($entities->media as $media) { 

$tweet_text =str_ireplace($media->url, '<a href="'.$media->expanded_url.'">' 
.$media->display_url.'</a>', $tweet_text); 

{ 
$media_html = ''; 
$url = $media->media_url_https; 
$link = $media->url; 
$width = $media->sizes->w; 
$height = $media->sizes->h; 

    $media_html = "<a href=\"" . $url . "\" target='_blank'>"; 
    $media_html .= "<img src=\"" . $url . "\" width=\"" .$width. 
    "\" height=\"" .$height. "\" />"; 
    $media_html .= "</a><br />";   
$media_html .= $tweet_text;  

    } 
return $media_html; 

我試着這樣做:

$width = $media->sizes->w; 
$height = $media->sizes->h; 
$width = ($width)/2; 
$height = ($height)/2; 

,但它只是沒有後顯示。 我已經嘗試了許多變化,我可以得到工作的唯一的事情是,如果我添加

$width = $media->sizes->w+100; 
$height = $media->sizes->h+100; 

但這只是改變了W和H 100,如你所知,大多數照片是不完美的正方形!

你們都在想什麼?

+0

什麼庫你加載圖像到?你引用'$ media'作爲一個對象,但是什麼類型的對象是'$ media'? – 2013-03-20 16:12:57

+0

我添加了更多的代碼來幫助您理解。我真的只是想將寬度和高度減半以幫助加載時間。我試圖使用縮略圖,而且它們質量很差。 – 2013-03-20 16:17:55

+0

不知道如果使用該方法調整圖像大小將有助於加載時間,我認爲無論如何都會下載完整大小的圖像。從$ media打印尺寸是否顯示您在進行任何更改之前所期望的值? – Fredd 2013-03-20 16:32:20

回答

0

通過添加

$RESULT = list($width, $height) = getimagesize($url); 

我能夠返回值。這是一個陣列,所以我不能先分開$width$height

{ 
$media_html = ''; 
$url = $media->media_url_https; 
$link = $media->url; 
$width = $media->sizes->w; 
$height = $media->sizes->h; 

$RESULT = list($width, $height) = getimagesize($url); 

$width = ($width)/2; 
$height = ($height)/2; 

    $media_html = "<a href=\"" . $url . "\" target='_blank'>"; 
    $media_html .= "<img src=\"" . $url . "\" width=\"" .$width. 
    "\" height=\"" .$height. "\" />"; 
    $media_html .= "</a><br />";   
    $media_html .= $tweet_text; 

    } 

return $media_html; 
+0

它實際上在加載時間變得更糟!我讀過其他帖子,我應該保存在另一個臨時文件中的$寬度和$高度值,但在這種情況總是在變化,我不知道如何去做這個 – 2013-03-26 21:50:18