php - 如何在上传文件保存到服务器之前使用 getImagesize() ?
问题描述
鉴于getImagesize()需要一个字符串并且$_FILES['myfile']
是一个数组,我试图访问临时文件夹并将文件上传到那里以获得图像大小,但我确实收到了错误。
这是我得到的错误:
警告:getimagesize(/home/everymorning/public_html/tmp/phpNFuAMD/images.jpeg):无法打开流:第 48 行的 /home/everymorning/public_html/demo1.php 中没有此类文件或目录
这是我尝试过的:
$string = $_SERVER['DOCUMENT_ROOT'].$_FILES['myfile']['tmp_name'].'/'.$_FILES['myfile']['name'];
echo getimagesize($string);
如果我尝试直接使用临时路径,我仍然会收到错误消息:
如果我使用:
getimagesize($_FILES['myfile']['tmp_name']);
我得到:
注意:第 47 行 /home/everymorning/public_html/demo1.php 中的数组到字符串转换
解决方案
我认为getimagesize($fileName)
有以下几点-
Array ( [0] => 667
[1] => 184
[2] => 3
[3] => width="667" height="184"
[bits] => 8
[mime] => image/png );
您正在尝试回显 的数组错误Array to string conversion
。事实上,回声不能打印数组,而是print_r
那些var_dump
可以打印数组信息的。
要计算图像的大小,您可以简单地通过将高度宽度和用于表示像素的位相乘来计算,以下算术表达式可以为您提供以位为单位的图像大小。
$imageInfo = getimagesize($fileName);
$size = $imageInfo[0] * $imageInfo[1] * $imageInfo['bits'];
推荐阅读
- sql - 将一列拆分为两列
- ios - 如何在swift中为每个循环附加字符串
- powerbi - Power BI - 创建一个度量以添加具有“是”值的行
- spring - 在spring mvc中处理同一浏览器中的不同用户会话
- c# - 是否可以减少单元格内的空白?
- http - http CONNECT 方法是否在 TCP 级别获取代理中继数据?
- android - 如何修复约束布局内与其他子视图重叠的可扩展列表视图滚动问题?
- angular - 如何在不触发表单更改事件的情况下将 FormGroup 添加到 FormArray
- javascript - 设置文件打开路径
- crystal-reports - 在水晶报表中将科学记数法转换为数字