dpyoh6553 2016-12-28 11:13
浏览 64
已采纳

在上传流中使用时确定imagepng的文件大小

I'm creating a png and uploading immediately to S3, I'd like to log how big that file was without having to do a seperate call to the same file on S3 to work out the size on disk.

Is this possible?

$tile = imagecreatetruecolor($tileImageSize, $tileImageSize);

imagecopy($tile, $resizedMainImage, 0, 0, $currentCoordsX, $currentCoordsY, $tileSize, $tileSize);

$writeStream = fopen("s3://bucket/file.png", 'w');

imagepng($tile, $writeStream, 9); // need filesize of this action

I've tried wrapping the imagepng in ob_start(); ob_get_length(); etc with no joy.

  • 写回答

1条回答 默认 最新

  • doulu7921 2016-12-28 11:25
    关注

    The thing is that you will need to save the image somewhere in order to get the size. To avoid writing to the filesystem, you can use the memory storage of php. I mean something like this:

    imagepng($tile, 'php://memory/image.png');
    $file_size = filesize('php://memory/image.png');
    

    You can do this before uploading the image to the server to have the information for your log.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器