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

时间:2013-10-28 20:41:28

标签: php

我真的很感谢有人这样做,并解释他们做了什么,所以我可以更好地理解它。

当前代码:

            $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文件服务器端的方法,如果它是自动方法或必须手动完成。

1 个答案:

答案 0 :(得分:1)

请记住,您正在处理临时文件,需要将其从临时目录复制到最终位置,例如/videos/video.mp4。

因此,只要您将文件复制到最终位置,就会更改扩展程序。

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

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

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

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

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

将文件复制到新位置:

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