【问题标题】:How to base64 encode a $_FILES file on a form post?如何对 $_POST $_FILES 文件进行 base 64 编码
【发布时间】:2019-06-19 19:43:14
【问题描述】:

我想知道如何对在 APOST 表单上从一个页面发送到另一个页面的文件进行 base64 编码。

因为,这不起作用base64_encode($_FILES['file']) 甚至base64_encode(file_get_contents($_FILES['file']))。 甚至base64_encode(file_get_contents($_FILES['file']['name']))

他们为什么不工作。正确的做法是什么。

【问题讨论】:

  • 为什么要编码?您不想对编码传输进行解码吗?
  • @Quasimodo'sclone 检查上传的文件是否与数据库中已有的任何其他文件匹配
  • @Quasimodo'sclone 我不明白
  • 您应该查看$_FILES['file']['tmp_name'] 假设您的表单字段名为“文件”

标签: php file file-upload


【解决方案1】:

tmp_name 是临时存储文件的文件路径

base64_encode(file_get_contents($_FILES['file']['tmp_name']))

【讨论】:

  • 我试过但得到了这个Warning: file_get_contents(C:\Bitnami\wampstack-7.0.0RC7-\php\tmp\php7BFA.tmp): failed to open stream: No such file or directory in C:\Bitnami\wampstack-7.0.0RC7-\apache2\htdocs\classupload.php on line 86
  • @Titoxdboss 您是否考虑过适应您的需求,还是只是从网络上以 1:1 的比例复制'n'paste?名称,检查是否存在...
  • @Quasimodo'sclone 我不明白
  • @Titoxdboss 尝试移动文件然后加密它 move_uploaded_file($_FILES["file"]["tmp_name"], '::Change to a writeable directory that Apache can write to::') .
  • 为了让这个很好的答案你可以在描述中更详细,告诉数组键是什么,为什么文件在不复制时会丢失,$_FILES 到底是什么......
猜你喜欢
  • 1970-01-01
  • 2013-07-28
  • 2016-07-19
  • 1970-01-01
  • 2019-09-28
  • 1970-01-01
  • 2017-11-29
  • 2013-08-16
  • 1970-01-01
相关资源
最近更新 更多