我將文件上傳到我的PHP webservice,將它們編碼爲Base64並通過Json發送。如何從解碼的Base64字符串中提取文件名和擴展名php
我使用這個代碼在服務器上進行解碼的數據:$file_content = base64_decode($file,true);
現在我想從$file_content
變量中提取文件名和擴展名。
我該怎麼做?
UPDATE:這裏是我用來解碼文件的代碼:
include '../conn.php';
include '../functions.php';
$entityBody = file_get_contents('php://input');
$decodedJson = json_decode($entityBody);
$user_email = $decodedJson->{'email'};
$user_token = $decodedJson->{'token'};
$file = $decodedJson->{'file'}; //This is the encoded content of the file from JSON
$file_content = base64_decode($file,true);
if(!checkStudentAuthorizationOrHigher($user_email,$user_token,$conn))
{
die();
}
//now I want to get $file_content type (extension or MIME type) and
//file name from the $file_content
//I tried the below code but it only gets file path as input parameter and doesn't work this way
echo mime_content_type($file_content);
只有文件的內容是通過JSON給我的PHP Web服務(文件名或擴展不發送給我的服務) 。如果有幫助,我的應用程序的客戶端就是C#Windows Forms應用程序和Android應用程序。
我想用與客戶端相同的文件名將文件保存在服務器上。另外我必須檢查文件類型以確保它在服務器上被允許。 (該文件可以是.pdf,.jpg,.jpeg或.zip)
現在有沒有辦法從$file_content
變量中提取文件信息?
你把文件名和擴展到編碼在JavaScript字符串中的Base64? – RiggsFolly
您不會提供有關腳本中實際發生的事情的很多信息。如何與我們分享一些代碼,以便我們可以看到你在做什麼 – RiggsFolly
從你的問題來看,'$ file'是文件名還是它的內容是不明確的。你可能想澄清。 –