0

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

当前代码:

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

4

1 回答 1

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);
于 2013-10-28T20:57:48.807 回答