我是新手,做了从ftp下载图片功能,系统在本地测试,没有问题,发布到远端服务器,下载功能就失效了。代码如下,哪位高手可以帮忙指点一下,错在哪里吗?(系统和数据库在一个ftp服务器上,数据库中某元素指向另一ftp服务器的图片实际存放地址)
$filename = '/www/'.$result_url;
$phpftp_host = "xxxxxx"; // 服务器地址
$phpftp_port = 21; // 服务器端口
$phpftp_user = "test"; // 用户名
$phpftp_passwd = "1111"; // 口令
$ftp_path = dirname($filename)."/"; // 获取路径
$select_file = basename($filename); // 获取文件名
$ftp = ftp_connect($phpftp_host,$phpftp_port); // 连接ftp服务器
if($ftp) {
if(ftp_login($ftp, $phpftp_user, $phpftp_passwd)) { // 登录
ftp_pasv($ftp,TRUE);
if(@ftp_chdir($ftp,$ftp_path)) { // 进入指定路径
$tmpfile = tempnam(getcwd()."/", "temp"); // 创建唯一的临时文件
if(ftp_get($ftp, $tmpfile, $select_file, FTP_BINARY)) { // 下载指定的文件到临时文件
//ftp_quit($ftp); // 关闭连接
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$select_file);
readfile($tmpfile);
unlink($tmpfile); // 删除临时文件
exit;
}
unlink($tmpfile);
}
}
}
ftp_quit($ftp);
|