我需要将视频文件扩展名更改为mp4


I need to change video file extensions to mp4

我真的很感激有人这样做并解释他们做了什么,这样我才能更好地理解它。

当前代码:

            $name = $_FILES['file']['name'];
            $extension = strtolower(substr ($name, strpos($name, '.') + 1));
            $newextension = 'mp4';
            $type = $_FILES['file']['type'];
            $temp = $_FILES['file']['tmp_name'];
            $location = 'thelocation';
            if ($extension!==$newextension)
            {
            $extension = $newextension;

如果无法做到这一点,有人可以告诉我一种如何将所有无.mp4文件转换为服务器端.mp4文件的方法,以及它是自动方法还是必须手动完成。

请记住,您正在使用一个临时文件,该文件需要从临时目录复制到最终位置,例如/videos/video.mp4。

因此,您将在将文件复制到最终位置后立即更改扩展名。

首先,你最好使用 pathinfo() 函数来检索扩展:

$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

然后,您将从文件名中过滤旧扩展名,并附加新扩展名:

$newfilename = basename($_FILES['file']['name'], $extension).$newextension;

编辑:我现在使用带有扩展名的basename()作为后缀来检索文件名,而不是substr和strrpos,这使得代码更短,更具可读性。

并将文件复制到其新位置:

copy($_FILES['file']['tmp_name'], 'full/path/to/your/videos/'.$newfilename);