Php 我需要将视频文件扩展名更改为mp4
我真的很感激有人这样做,并解释他们做了什么,这样我才能更好地理解 当前代码:Php 我需要将视频文件扩展名更改为mp4,php,Php,我真的很感激有人这样做,并解释他们做了什么,这样我才能更好地理解 当前代码: $name = $_FILES['file']['name']; $extension = strtolower(substr ($name, strpos($name, '.') + 1)); $newextension = 'mp4'; $type = $_FILES['file']['type'];
$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 因此,您可以在将文件复制到最终位置后立即更改扩展名。 首先,最好使用函数检索扩展名:
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$newfilename = basename($_FILES['file']['name'], $extension).$newextension;
然后,从文件名中筛选旧扩展名,并附加新扩展名:
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$newfilename = basename($_FILES['file']['name'], $extension).$newextension;
编辑:我现在使用扩展名作为后缀来检索文件名,而不是substr和strrpos,这使得代码更短、更可读
并将文件复制到其新位置:
copy($_FILES['file']['tmp_name'], 'full/path/to/your/videos/'.$newfilename);
您无法轻松更改文件的扩展名。当你有一个.avi或其他东西时,你必须将其转换为mp4格式。@Stony-公平地说,他说他只是想更改扩展名,而不是转换格式--@admdrew:这是一个上传。。。这意味着他试图上传一个视频文件。。。如果您只想更改文件的扩展名,有更简单的方法