为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 可以读取元文件吗?

PHP 可以读取元文件吗?

PHP
幕布斯6054654 2022-07-16 18:22:02
我用 PHP 和客户端 Javascript 构建了一个 parsial 上传。流动将文件转换为base64,这样我就得到了base64字符串将base64字符串切成几块发布每件作品和上传处理程序的位置上传处理程序将发布数据作为一个文件放在同一个文件夹中如果迭代停止,JS 告诉上传处理程序构建代码然后上传处理程序将所有文件作为一个文件,然后将 base64 解码为一个新文件问题构建完成后,我无法读取与文件上传中的 $_FILES 相同的结果文件。所以我无法得到:原始尺寸原始扩展我想知道PHP可以读取有关文件的信息吗?我希望有这样的功能(不是实际功能)$file  = read_the_file('/path/to/file'); $metas = read_meta_file($file);然后你可以得到什么类型的文件和其他一些数据。笔记目前,我使用的文件是视频文件。
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

但是您需要将该扩展名存储在某个位置 - 例如在 ID3 标签中的视频文件中(并使用 lib https://github.com/JamesHeinrich/getID3/来提取它)。这很可能不是您想要做的,因为您需要在前端编辑文件。


另一种选择是使用mime_content_type(文件完成上传后)- 对于“mp4”文件,即使没有扩展名,它也会为您提供“video/mp4”,对于 mkv “video/x-matroska”。等等基于 mime 类型,您可以再次构建扩展 - 例如:


$exts = [

"video/x-matroska" => "mkv",

"video/mp4" => "mp4"

];

接着:


$extension = $exts[mime_content_type("..path..to..file")];

(当然首先要检查条目是否存在)。


扩展本身不存储在任何元数据中,因此您不能简单地提取它。


在拥有 mime 类型的同时,您还可以使用任何流行的库 - 例如: https ://github.com/ralouphie/mimey


将 mime 类型转换为扩展名。


要获得文件大小,最好简单地使用 filesize 函数。


另一种选择是简单地将原始文件名与最后一个帖子(告诉后端文件已完成的那个)一起发送:可能是最可靠的一个。


查看完整回答
反对 回复 2022-07-16
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

  1. 您可以借助名为pathinfo的 php 函数获取有关文件的信息

    • 如何使用pathinfo

      print_r(pathinfo("/path_of_file/123.txt"));

      它将返回.....

      Array ( [dirname] => /path_of_file [basename] => 123.txt [extension] => txt )


2.可以通过名为filesize的php函数获取文件的大小

  • 如何使用文件大小

    echo filesize("123.txt");

    它将以字节为单位返回文件的大小。

I hope, This will help you.
Good Luck.


查看完整回答
反对 回复 2022-07-16
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您可以使用pathinfo php 函数
对于文件大小,您可以使用filesize函数

要从 base_64 获取扩展名,您可以使用finfo_buffer函数

echo finfo_buffer(finfo_open(), $base64, FILEINFO_MIME_TYPE);


查看完整回答
反对 回复 2022-07-16
  • 3 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信