Annie
新手上路

UID 116071
精华
0
积分 4
帖子 2
金钱 4 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-25
状态 离线
|
[广告]: q
m
请教:header下载文件的代码放到Linux服务器上后不能下载
我的这段代码,原意是要实现从ftp服务器上下载文件。ftp与apache服务器不在同一台电脑上。当apache服务器为windows环境时,这段代码能将ftp服务器上的文件下载下来。但当把源代码放到Linux的apache服务器上再运行时,它的下载提示是下载该源代码文件,而不是我要下载的ftp上的文件,并且也不能下载成功。请问究竟是什么原因造成的啊?急等。
代码如下:
<?php
$fname = '1.txt';
$phpftp_host = "10.75.80.199";
$phpftp_port = 21;
$phpftp_user = "myname";
$phpftp_passwd = "mypasswd";
$ftp_path = '/src_web/';
$ftp = ftp_connect($phpftp_host,21);
if($ftp){
if(ftp_login($ftp,$phpftp_user,$phpftp_passwd)){
$tmpfile = tempnam(getcwd().trim('/temp/'),"temp");
//linux下的创建:创建唯一的临时文件
if(ftp_get($ftp2,getcwd().('/temp/').$fname,$fname,FTP_BINARY)){ header("Content-Type: application/octet-stream");
header("Content-Disposition:attachment;filename=".$fname);
@readfile(getcwd().trim('/temp/ ').$fname); //Linux的
unlink($tmpfile);//删除临时文件
exit;
}
unlink($tmpfile);
}
}
?>
我在测试时,只要去掉那两个header,程序就不会出错,只是在客户端打开1.txt文件,但不能下载。只要一旦加上header,客户8端一定出错。
|
|