首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中编码图像文件

如何在PHP中编码图像文件
EN

Stack Overflow用户
提问于 2016-06-10 08:32:32
回答 1查看 99关注 0票数 0

我使用的是一个文件上传表单字段,我想从该字段编码文件名,不想移动任何临时文件夹,直接插入数据库,同时显示图像直接获取DB并显示网站,我希望像数据那样编码: image /png;base64 64,iVBORw0KGgoAAAANSUhEUgAAADIA

代码语言:javascript
运行
复制
$path = basename($_FILES['file']['name']);//here i am getting filename
$im = file_get_contents($path);//here i am getting false
$imdata = base64_encode($im); // so can't here encode the filename
$horoscope = array("encode" => $imdata,"path" =>$path,"getcontents" =>$im);
echo json_encode($horoscope);

EN

回答 1

Stack Overflow用户

发布于 2016-06-10 08:44:41

PHP将文件上传到临时文件中,并告诉您该文件在$_FILES['file']['tmp_name']中的位置-- $_FILES['file']['name']保存用户在其系统中调用文件的文件名,即他们在浏览器中选择的文件名。

因此,如果您想在对文件执行move_uploaded_file()之前获取该文件,请使用$_FILES['file']['tmp']

代码语言:javascript
运行
复制
$path = $_FILES['file']['tmp_name'];
$im = file_get_contents($path);
$imdata = base64_encode($im); 
$horoscope = array("encode" => $imdata,
                   "path" =>$path,
                   "getcontents" =>$im
                  );
echo json_encode($horoscope);

我不知道您要传回$path是为了什么,所以可能仍然需要$_FILES['file']['name']

代码语言:javascript
运行
复制
$horoscope = array("encode" => $imdata,
                   "path" => $_FILES['file']['name'],
                   "getcontents" => $im
                  );

RE:评论1

我假设您希望将文件的base64encoded版本存储到数据库中,以便将其存储为$imdata

RE:评论2

要获得传入文件的扩展名,请使用pathinfo()

代码语言:javascript
运行
复制
$path = $_FILES['file']['tmp_name'];
$file_parts = pathinfo($path);
$extn = $path_parts['extension'];

但是要小心,仅仅因为扩展名说.png并不能真正保证它是一个.png文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37743559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档