【发布时间】:2011-03-17 18:03:48
【问题描述】:
我真的很需要你的帮助。我已成功建立与我的 ftp 服务器的连接。但是我不知道如何从我的服务器下载动态文件。我想这也会对其他人有所帮助,因为我在网络上的任何地方都找不到教程或解释。
我只是在我的 ftp 上列出我的所有文件。如果我单击一个,我会调用 download.php,它会再次连接到服务器并将文件下载到我的硬盘。我能够自动提示下载窗口并将文件下载到我的硬盘中。但是只有一个没有设置标题的损坏文件。
/* path to files on ftp server … e.g. /folder/folder/name_of_file.jpg */
$p_arr = explode("/", $path);
/* the file name … e.g name_of_file.jpg */
$file = end($p_arr);
//$finfo = finfo_open(FILEINFO_MIME_TYPE); //returns a fatal error - function not found
//$mimetype = finfo_file($finfo, $file);
//finfo_close($finfo);
//filetype($file)
/* creating a temporyry file to save to */
$tempFile = tempnam("/tmp", "FOO");
if(ftp_get($conn_id, $tempFile, $file, FTP_BINARY)){
/*header Content-type: must be dynamic*/
//header('Content-type:' . $mimetype);
/*header to auto_prompt download window*/
header('Content-Disposition: attachment; filename="'. $file .'"');
readfile($tempFile);
} else {
echo "There was a problem <br>";
echo $file . "<br>"; //e.g. image.jpg
}
/* deleting the file after the process */
//unlink($tempFile);
1.) 我不知道为什么 ftp_get 返回 false。连接已建立,文件存在于正确的目录中。 2.) 我不知道如何在服务器上找到文件的 mimetype 并将下载的文件提供给它,所以它没有损坏。
请帮帮我,我真的被困住了。提前谢谢你
【问题讨论】: