有沒有辦法來從URL中的文件名,不擺在首位的文件名爲URL的斜線後給出的最後一句話輸出。
從您的網址
http://xyzjsjwekeke.com/download/314543&r=515
^----- Probably ID to the file
這可能需要從URL中的ID,並從一個存儲系統,例如真實。 MySQL,CDN等)發送回它們:
header('Content-disposition: attachment; filename='.$realName);
獲取這樣的文件名的方式直接來自HTTP頭。獲得使用頁眉get_headers
標題信息和提取文件名
例
$headers = get_headers("http://xyzjsjwekeke.com/download/314543&r=515p",true);
$headers = array_combine(array_map("strtolower",array_keys($headers)),$headers);
$fileName = isset($headers['content-disposition']) ? strstr($headers['content-disposition'], "=") : null ;
$fileName = trim($fileName,"=\"'");
var_dump($fileName);
究竟是什麼你想在這裏實現 - 你想知道如何發送一個下載到瀏覽器時設置的文件名做? –
@Pekka我想提取實際的文件名,以便我可以將該名稱存儲在我的數據庫中,但像314543&r = 515這樣的文件名是沒有用的,我想在上述情況下存儲實際文件名how_to_prepare_for_interview.pdf – raju
@Payal Malhotra :如果你想這樣做,我想知道是什麼讓你選擇'basename'和'explode'和'array_shift'?通過最好的意圖,我無法想象這將是多麼有意義。你知道這些功能是什麼嗎? – hakre