鉴于getImagesize()需要一个字符串,而$_FILES['myfile']
是一个数组,我试图进入临时文件夹并将文件上传到那里,以获取图像大小,但是我确实得到了错误。
警告: getimagesize(/home/everymorning/public_html/tmp/phpNFuAMD/images.jpeg): 无法打开流:在该目录中没有这样的文件或目录 /home/everymorning/public_html/demo1.php,第48行
$string = $_SERVER['DOCUMENT_ROOT'].$_FILES['myfile']['tmp_name'].'/'.$_FILES['myfile']['name'];
echo getimagesize($string);
还有if I try to use the temporary path directly,我仍然收到错误消息:
getimagesize($_FILES['myfile']['tmp_name']);
注意:数组到字符串的转换 /home/everymorning/public_html/demo1.php,第47行
答案 0 :(得分:1)
我认为getimagesize($fileName)
具有以下特点-
Array ( [0] => 667
[1] => 184
[2] => 3
[3] => width="667" height="184"
[bits] => 8
[mime] => image/png );
您正在尝试回显Array to string conversion
的数组错误。实际的echo无法打印数组,相反print_r
和var_dump
可以打印数组的信息。
要计算图像的大小,您可以简单地通过将高度宽度与用于表示像素的位数相乘来进行计算,并通过以下算术表达式可以以位数为单位给出图像的大小。
$imageInfo = getimagesize($fileName);
$size = $imageInfo[0] * $imageInfo[1] * $imageInfo['bits'];