直接使用THINKPHP自带的方法就能获取了,你可以参考以下代码!
$image = new \Think\Image();$image->open('/1jpg');
$width = $image->width(); // 返回的宽度
$height = $image->height(); // 返回的高度
$type = $image->type(); // 返回的类型
$mime = $image->mime(); // 返回的mime类型
$size = $image->size(); // 返回的尺寸数组 0 宽度 1 高度
原生PHP是这样的:
//int filesize ( string $filename )// 输出类似:somefiletxt: 1024 bytes
$filename = 'somefiletxt';
echo $filename ': ' filesize($filename) ' bytes';
//但是为什么我用file_exists()判断文件是否存在时,得到的结果却是不存在呢
这句话后面加一句
$file='/uploads/' $file;
你都把文件存成这个文件了 还用原来的文件名判断能行吗
后面的错误也是一样的
也可以直接把后面两个$file改掉
if(!file_exists('/uploads/' $file)){
$src_info = @getimagesize('/uploads/' $file);
你在显示的时候,直接指定显示的大小是不会改变你的源文件大小的。
如:
<img src='/upload/1jpg' width='100' /> 那么显示的时候,就是宽度100,高度会根据你的的尺寸缩放。
这是我项目中的一个thinkphp方法,如果不覆盖原图那修改save中的文件名为新名称就可以。
/ 生成规格param:file *** 作的,完整路径+文件名
param:size 缩略图最大尺寸
/
function make_thumb($file,$width,$height){
$image = new \Think\Image();
$image->open($file);
$image->thumb($width, $height)->save($file);
}
简单的方法,修改img函数,增加参数,img($content,$width,$height),增加宽和高参数,
$str=str_replace("[img","<img src=\"upload/ width=\"$width\" heigh=\"$heigh\" ",$str);
html文件中要通过层来实现大小的覆盖,在php中嵌套html中的div进行实现覆盖的,需要插入两个DIV才可以实现,给你一个参考代码:
<div style="position: relative;">//这个层为外面的父层,只需设置相对位置样式即可
<div style="position: absolute;">//这个为里面要叠加的层,只需设置绝对样式
<img src="img/sunshuaijpg"/>//这个为层里面的内容
</div>
<img src="20110110/871_129391305700000000jpg"/>//这个为父层内容
</div>
用getimagesize方法,如下示例:
HTML页面
<!DOCTYPE html><html>
<head>
<meta ;
PHP页面:
<phpecho "<pre>";
print_r($_FILES);
echo "<br />";
$size = getimagesize($_FILES['fileField']['tmp_name']);
echo "<pre>";
print_r($size);
>
demo效果示意图
点击浏览选择,然后点击上传后的输出
第二个输出的数组有你需要的相关数据。
看看是否符合你的需求?若有疑问,欢迎追问!
以上就是关于thinkphp 怎么用程序自动判断压缩图片的大小全部的内容,包括:thinkphp 怎么用程序自动判断压缩图片的大小、基于HTML5的多图Ajax上传的php后台接收并获取图片宽高等信息、请高手帮帮忙! 怎样在php中调整图片显示的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)