php生成文件,并下载的问题。

revolkiss 2006-12-06 09:07:48
从数据库读取数据,制作成xml文件,之后将这个文件下载,确认这个文件制作成功,但是下载后的xml没有内容。用同样的代码,下载同样这个生成的文件,就完全正确。这是为什么?
代码:
<?php
$glink;
$gresult;

function connDB(&$link)
{
$link = mysql_connect('localhost', 'ken', 'ken');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
else
{
echo $link ;
}
mysql_select_db("scp",$link);
$glink=$link;
}

function getData(&$result,&$link)
{
$result = mysql_query("select * from users ",$link);
$gresult= $result;
}

function initXML($filexmlPath,&$result)
{
$doc = domxml_new_doc("1.0");
$doc->formatOutput = true;
$users=$doc->create_element( "users" );
$doc->append_child( $users );
while($row=mysql_fetch_array($result))
{
$user = $doc->create_element( "user" );
$userID=$doc->create_element( "userID" );
$userID->append_child($doc->create_text_node( $row['uid'] ));
$user->append_child($userID);

$userName=$doc->create_element( "userName" );
$userName->append_child($doc->create_text_node( $row['name'] ));
$user->append_child($userName);

$users->append_child( $user );
}
$xml_data = $doc->dump_mem(true);
$filename = $filexmlPath;
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'wb')) {
//echo "Cannot open file ($filename)";
exit;
}
// Write $xml_data to our opened file.
if (fwrite($handle, $xml_data) === FALSE) {
//echo "Cannot write to file ($filename)";
exit;
}
//echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);

}
else {
//echo "The file $filename is not writable";
}
}

function downLoadFile($filexmlPath,$filename)
{
ob_start();
$file_path=$filexmlPath;//$file_name;
$file_size = filesize($file_path);
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: $file_size");
header("Content-Disposition: attachment; filename=".$filename);
$fp = fopen($file_path,"r");
$buffer_size = 1024;
$cur_pos = 0;
while(!feof($fp)&&$file_size-$cur_pos>$buffer_size)
{
$buffer = fread($fp,$buffer_size);
echo $buffer;
$cur_pos += $buffer_size;
}
$buffer = fread($fp,$file_size-$cur_pos);
echo $buffer;
ob_end_flush();
fclose($fp);
return true;
}

function excute()
{
//$WebRoot = $_SERVER['DOCUMENT_ROOT'];
//fopen($WebRoot."/forum/list/7/6.shtml","w");

$filexmlPath="D:/temp/user.xml";
$filexmlName="user.xml" ;
$lk;
$lr;

connDB($lk);
getData($lr,$lk);
initXML($filexmlPath,$lr);
downLoadFile($filexmlPath,$filexmlName);
}
excute();

?>

注释就不加了,就3个函数的功能,为什么呢?是设置问题?
...全文
790 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zairwolf 2006-12-06
  • 打赏
  • 举报
回复
mark
revolkiss 2006-12-06
  • 打赏
  • 举报
回复
up
li1229363 2006-12-06
  • 打赏
  • 举报
回复
我一般把下载的数据放到javascript里面提供下载。ASP总是自己寻找那些打开方式。JSP有专门的函数可以实现强行下载。我上面的那种方法也是一种强行下载的手段。
hzg7361 2006-12-06
  • 打赏
  • 举报
回复
跟着学习,期待高手解答
内容概要:本文介绍了COSO企业风险管理框架,阐述了企业风险管理的定义、目标、构成要素及其与内部控制的关系。文章指出,企业风险管理是一个由董事会、管理层及其他人员实施的,应用于战略制定并贯穿于企业之中的过程,旨在识别可能影响主体的潜在事项,管理风险以使其在该主体的风险容量之内,并为主体目标的实现提供合理保证。该框架强调了企业风险管理的八大构成要素:内部环境、目标设定、事项识别、风险评估、风险应对、控制活动、信息与沟通、监控。此外,文章还讨论了企业风险管理的局限性,如人为判断失误、成本与效益的权衡、管理层凌驾等。 适合人群:具备一定管理学基础知识,对风险管理有兴趣的学者、企业管理人员、内部审计师及外部审计师。 使用场景及目标:①帮助组织理解并应用企业风险管理框架,以提高组织的风险管理水平;②指导企业如何通过有效的风险管理来实现其战略、经营、报告和合规目标;③为企业提供一套标准化的风险管理语言,促进内外部沟通与合作。 阅读建议:读者应结合实际案例,深入理解每个构成要素的具体应用,同时关注企业风险管理的局限性,以全面把握企业风险管理的本质。此外,建议定期回顾和更新风险管理策略,以适应不断变化的内外部环境。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧