如何通过file_get_contents获取文件扩展名

问题描述:

我想从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名称保存此文件,并且从其他服务器复制时只需使用有效的名称和扩展名对其进行重命名?

试试这个功能可按mime_content_type

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包含文件扩展名时它很有用。 –