亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號