Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php中的MySQL数据库下载文件会生成空文件_Php_Mysql - Fatal编程技术网

从php中的MySQL数据库下载文件会生成空文件

从php中的MySQL数据库下载文件会生成空文件,php,mysql,Php,Mysql,由于某种原因,当下载在LONGBLOB字段的MySQL表中上传的文件时,会生成一个空文件。在特定情况下,下载的文件(PDF)具有正确的大小、正确的标题、正确的页数和尺寸,但页面是完全空白的 以下是我正在使用的代码: $id= $_GET['id']; mysql_select_db($database_dbconn, $dbconn); $query = "SELECT cvform_file_name, cvform_file_type, cvform_file_size, cvform_

由于某种原因,当下载在LONGBLOB字段的MySQL表中上传的文件时,会生成一个空文件。在特定情况下,下载的文件(PDF)具有正确的大小、正确的标题、正确的页数和尺寸,但页面是完全空白的

以下是我正在使用的代码:

$id= $_GET['id'];
mysql_select_db($database_dbconn, $dbconn);
$query   = "SELECT cvform_file_name, cvform_file_type, cvform_file_size, cvform_att_file   FROM t_cvform WHERE idCvform = $id";
$result  = mysql_query($query) or die('Error, query failed');
list($cvform_file_name, $cvform_file_type, $cvform_file_size, $cvform_att_file) = mysql_fetch_array($result);
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-disposition: attachment; filename=".$cvform_file_name);
header("Content-Transfer-Encoding: binary");
header("Content-length: ".$cvform_file_size);
header("Content-type: ".$cvform_file_type);
print $cvform_att_file;
}

有什么想法吗?谢谢

您是否验证了
$cvform\u att\u file
是否确实包含内容?是的,它包含内容,数据库中的LONGBLOB字段显示二进制数据,大小与上载的原始文件相对应。