php标题即时下载视频

时间:2013-07-11 10:44:27

标签: php

我正在尝试制作一个php脚本,当你加载到该页面时,它会下载视频。但是因为我对标题一无所知,所以我似乎无法弄明白,所以请解释它为何起作用以及标题是如何工作的。我正在尝试让浏览器下载视频文件。有人也可以解释标题以及它们的作用。

这是我失败的代码:

<?php 
//Outputing video name
    $file_name = $_POST['FileToD'];
//outputting video extension e.g video/mp4
    $file_ext= $_POST['FileExt'];
//where the file is kept
    $file_path = 'mysever.myadress.com/media/movies/' . $file_name;
    header('Content-Type:'.$file_ext);
    header('Content-Length:' . filesize($file_path));
    header('Content-Description: attachment; filename='.$file_name);
    readfile($file_path);
?>

1 个答案:

答案 0 :(得分:4)

  1. 如果要输出视频,请不要先输出HTML然后切换到视频数据作为同一文件的一部分。 (无论如何,在开始输出数据后,无法设置响应标头)。 删除<?php之前和?>
  2. 之后的所有内容
  3. $file_url应该是服务器文件系统上您想要提供的文件的路径。它不应该是一个URL(除非你想要一个非常低效的方法或需要从不同的服务器代理),如果它是一个URL,那么它需要从方案开始(例如http://)。
  4. 内容类型需要是视频的实际内容类型(例如video/mp4),而不是文件扩展名(并且用户提供它没有意义)。

  5. 您还需要清理用户数据。目前(如果上述错误已得到修复),任何人都可以请求服务器上存在的任何文件。