Php 调整从链接中提取的照片的大小
我正在从数据库中提取推文,其中包含链接到照片的URL 我已经能够在我的网站上显示这些照片,但它们太大了 代码如下:Php 调整从链接中提取的照片的大小,php,image-processing,Php,Image Processing,我正在从数据库中提取推文,其中包含链接到照片的URL 我已经能够在我的网站上显示这些照片,但它们太大了 代码如下: foreach ( $entities->media as $media ) { $tweet_text =str_ireplace($media->url, '<a href="'.$media->expanded_url.'">' .$media->display_url.'</a>', $tweet_text); { $m
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+100;
$height = $media->sizes->h+100;
但这只是将w和h改为100,正如你所知,大多数图片都不是完美的正方形
你们都怎么想?通过添加
$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;
{
$media_html='';
$url=$media->media\u url\u https;
$link=$media->url;
$width=$media->size->w;
$height=$media->size->h;
$RESULT=list($width,$height)=getimagesize($url);
$width=($width)/2;
$height=($height)/2;
$media_html=“
”;
$media\u html.=$tweet\u文本;
}
返回$media_html;
将图像加载到哪个库中?您将$media
作为对象引用,但是$media
是什么类型的对象?我添加了更多代码以帮助您理解。我真的只是想削减一半的宽度和高度,以帮助加载时间。我尝试过使用缩略图,但它们的质量太差了。不确定使用这种方法调整图像大小是否有助于缩短加载时间,我认为不管怎样都可以下载完整大小的图像。打印$media中的大小是否会显示任何更改之前预期的值?好吧,我正在调用一个php脚本来加载包含URL的推文,其中包含图片。如果我不使用这个脚本,照片无论如何都不会加载,那么按照这个逻辑,为什么不在加载帮助之前重新调整照片的大小呢?我真的不确定它会不会,只是要求澄清一下我还试着打印尺寸,但由于网站的设置方式,它无法显示,如果你需要我做些什么,我可能可以在不同的页面上测试它,以便更好地理解。我对这一切都是新手,在打扰任何人之前,我已经尽了最大的努力去学习。我在这方面有点新手,但据我所知,在你发布的代码中,PHP设置了图像的大小和url,并将其作为html字符串返回,仍然由用户浏览器来显示html。考虑到这一点,用户浏览器将下载url上的任何图像,然后使用给定的尺寸进行渲染。打印的目的是查看是否设置了这些值,如果要将其设置为100,则必须为0或为空。您可以尝试使用PHPs getimagesize()()直接从URL测试w/h,但实际上加载时间变差了!我在其他帖子上读到,我应该将$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;