2016-07-23 94 views
1

我想從url上傳視頻文件到我的服務器。這是我的代碼。如何通過file_get_contents獲取文件擴展名

<?php 
    set_time_limit(0); 
    $file_name = "upload/myvideo.mp4"; 
    $video_file_url = "http://example.com/somevideo.mp4"; 
    file_put_contents($file_name, file_get_contents($video_file_url)); 
?> 

現在的問題是$ video_file_url包含不同類型的MP4一樣的視頻,名爲.3gp或FLV的。我不知道如何從file_get_contents獲得文件擴展名,並且$ file_name總是可能與我在代碼中提到的不一樣。

我是否應該用tmpFile.tmp名稱保存此文件,並且從其他服務器複製時只需使用有效的名稱和擴展名對其進行重命名?

回答

2

PATHINFO()和parse_url()是你需要得到擴展的。

$extension = pathinfo(parse_url($video_file_url, PHP_URL_PATH), PATHINFO_EXTENSION); 

順便說一句,爲您使用下載文件的代碼的一部分,我會建議看看這個問題,因爲file_get_contents()函數在這種情況下極其低效:Download File to server from URL

+0

你是對的,但對於我的普通網址格式url其中包含擴展名抱歉。當url包含文件擴展名時它很有用。 –

相關問題