使用php获取图片尺寸
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务: 点此联系我
在网页设计中,为图像<img>指定 height 和 width 属性是一个好习惯,至于为什么是一个好习惯,你可以点此查看文档说明。但是在动态网页中,有些图像的尺寸是不固定的,有时候你不能为图像<img>指定固定的 height 和 width 属性,那怎么办呢?其实php有现成的函数getimagesize用于获取图像的尺寸,具体的函数使用方法以及代码示例,可以点此查看php的文档,下面简单介绍一下用法:
<?php/* 1.jpg为你想获得其尺寸的图片 */
$arr = getimagesize("1.jpg");
/**
* 这里$arr为一个数组类型
* $arr[0] 为图像的宽度
* $arr[1] 为图像的高度
* $arr[2] 为图像的格式,包括jpg、gif和png等
* $arr[3] 为图像的宽度和高度,内容为 width="xxx" height="yyy"
*/
/* 以下两行代码输出的内容都是一样的 */
echo "<img src="1.jpg" $arr[3] alt="" />";
echo "<img src="1.jpg" width="$arr[0]" height="$arr[1]" alt="" />";
?>
以上php代码被解释为内容为:
<img src="1.jpg" width="xxx" height="yyy" alt="" />
<img src="1.jpg" width="xxx" height="yyy" alt="" />
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/php-get-images-size.html
露兜,你好。请问这个函数的原理是什么?假如我要获取大量图片的尺寸,会不会对服务器造成很大的压力?(因为虚拟主机对内存、宽带、执行时间等的限制比较严格)
@侯永禄 不管什么样的主机都会php执行时间限制的。
以上代码使用的是php的内置函数,不需要操作数据库。执行一次的时间可以使用下面的代码测算:
https://www.ludou.org/how-to-create-a-password-generator-using-php.html#time-contrast
大概也就几毫秒吧,假设你的主机设置的php执行时间限制20s,你可以一次性进行几万次的图片尺寸计算。
//img From
function post_thumbnail_src(){
global $post;
if( $values = get_post_custom_values("thumb") ) { //输出自定义域图片地址
$values = get_post_custom_values("thumb");
$post_thumbnail_src = $values [0];
} elseif( has_post_thumbnail() ){ //如果有特色缩略图,则输出缩略图地址
$thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
$post_thumbnail_src = $thumbnail_src [0];
} else {
$post_thumbnail_src = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$post_thumbnail_src = $matches [1] [0]; //获取该图片 src
};
echo $post_thumbnail_src;
}
请教楼主一个问题,如何结合获取第一个缩略图 让他自己有宽和高
<img src="1.jpg" width="xxx" height="yyy" alt="" />