Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调整从链接中提取的照片的大小_Php_Image Processing - Fatal编程技术网

Php 调整从链接中提取的照片的大小

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

我正在从数据库中提取推文,其中包含链接到照片的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+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;