2016-07-23 23 views
1

Ich möchte eine Videodatei von der URL auf meinen Server hochladen. Hier ist mein Code.Wie bekomme ich die Dateierweiterung von 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)); 
?> 

Das Problem ist jetzt die $ video_file_url andere Art von Video wie .mp4 enthalten, 3GPP oder .flv. Ich weiß nicht, wie man Dateierweiterung von file_get_contents erhält und $ file_name immer nicht dasselbe, was ich in meinem Code erwähnt habe.

Sollte ich diese Datei mit dem Namen tmpFile.tmp speichern und sie, wenn sie von einem anderen Server kopiert wurde, einfach mit einem gültigen Namen und einer Erweiterung umbenennen?

Antwort

2

pathinfo() und parse_url() sind das, was Sie die Erweiterung bekommen müssen.

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

By the way, für den Teil des Codes, den Sie die Datei herunterladen zu verwenden, würde ich empfehlen, in dieser Frage einen Blick zu haben, weil file_get_contents() in diesem Fall extrem ineffizient ist: Download File to server from URL

+0

Sie haben Recht, aber es tut mir leid für mein einfaches URL-Format, wo die URL eine Erweiterung enthält. Es ist nützlich, wenn die URL Dateierweiterung enthält. –

Verwandte Themen