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 に答える