我真的很感谢有人这样做,并解释他们做了什么,所以我可以更好地理解它。
当前代码:
$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文件服务器端的方法,如果它是自动方法或必须手动完成。
答案 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);