下载php总是被破坏

时间:2012-11-19 20:12:59

标签: php

我有一个用PHP编写的下载脚本。我的视图文件脚本链接到ids,然后选择与ID匹配的所有数据。

然后使用该数据下载照片。我的照片在文件夹中是否重要?它被移动到一个文件夹,然后该目录被上传到MYSQL数据库。

此刻的代码现在允许一些文件完美下载,然后大多数文件被损坏。有什么理由吗?

    Mysql table info...
    $cool = $_GET['id'];

  $sql = "SELECT id, type, name, size FROM upload WHERE id='$cool'";

   $result = mysql_query($sql, $db);
   $data = mysql_result($result, 0, "id");
   $name = mysql_result($result, 0, "name");
   $size = mysql_result($result, 0, "size");
   $type = mysql_result($result, 0, "type");

   header("Content-type: $type");
   header("Content-length: $size");
   header("Content-Disposition: attachment; filename=$name");
   header("Content-Description: PHP Generated Data");
   header('Content-Transfer-Encoding: binary');
   header('Expires: 0');
   header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
   header('Pragma: public');
   ob_clean();
   flush();
   readfile($name);
   exit();

1 个答案:

答案 0 :(得分:1)

这是因为PHP在您回显数据后发送了一些信息,解决方法是在回显数据后立即停止处理,在exit();之后立即添加echo $data