2013-03-20 2 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; 

Но это просто изменяет вес и ч до 100, и, как вы знаете, большинство фотографий не являются полными квадратами !

Что вы все думаете?

+0

В какую библиотеку вы загружаете изображение? вы ссылаетесь на '$ media' как на объект, но какой тип объекта' $ media'? –

+0

Я добавил больше кода, который поможет вам понять. Я просто хочу сократить ширину и высоту пополам, чтобы помочь с временем загрузки. Я пытался использовать миниатюры, и они были просто ужасным качеством. –

+0

Не уверен, что если изменение размера изображения с использованием этого метода поможет с временем загрузки, я думаю, что изображение полного размера загружается независимо. Печатает ли размеры в формате $ media значения, которые вы ожидаете до любых изменений? – Fredd

ответ

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

Это действительно ухудшилось при загрузке! Я читал на других сообщениях, что я должен сохранять значения $ width и $ height в другом временном файле, но там, где это всегда меняется, я не уверен, как это сделать –

Смежные вопросы