【问题标题】:getimagesize on application/octet-stream upload?应用程序/八位字节流上传时的getimagesize?
【发布时间】:2015-08-07 17:11:52
【问题描述】:

我正在使用 mithril.js 拖放,使用 FormData,它成功地将其发送到后端,但无法在其上使用 getimagesize()。为什么我需要 getimagesize 是因为我正在使用的库。

//var_dump on $_FILES
array (size=1)
    'upload' => 
        array (size=5)
            'name' => string '95ab94cadab44e81cfe6d3c83642680d.jpg' (length=36)
            'type' => string 'image/jpeg' (length=10)
            'tmp_name' => string '/tmp/phpTj3iX3' (length=14)
            'error' => int 0
            'size' => int 743265

这里是 getimagesize($_FILES['upload']['tmp_name']); 上的 var_dump;

 boolean false

我也试过这个,认为它只是上传字符串:

$data = file_get_contents($_FILES['upload']['tmp_name']);
$image = imagecreatefromstring($data);
//the error imagecreatefromstring(): Data is not in a recognized format

还尝试了 var_dumping tmp 文件

$data = file_get_contents($_FILES['upload']['tmp_name']);
var_dump($data);
//�����JFIF��������8Photoshop 3.0 ...

编辑:文件的大小是 392kb,但 PHP 说它是 743kb,我不确定为什么

【问题讨论】:

    标签: php


    【解决方案1】:
    $binary_data = file_get_contents($_FILES['upload']['tmp_name']);
    $uri = 'data://application/octet-stream;base64,'  . base64_encode($binary_data);
    $arr =  getimagesize($uri);
    

    【讨论】:

    • 感谢您的回复,但是我 var_dumped $arr 仍然得到布尔值 false。
    猜你喜欢
    • 2022-10-11
    • 2012-08-14
    • 2012-11-17
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2019-08-24
    相关资源
    最近更新 更多