【问题标题】:download file from remote server by php?通过php从远程服务器下载文件?
【发布时间】:2020-01-22 18:51:32
【问题描述】:

有人告诉我。我是否可以通过 php 从我所在位置的远程服务器下载特定文件?

我已经尝试过代码,但我不能

    <?php

// define some variables
$local_file = '/httpdocs/teste.pdf';
$server_file = 'teste.pdf';
$ftp_server="209.126.127.143";
$ftp_user_name="username";
$ftp_user_pass="password";

$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to download $server_file and save to $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
    echo "Successfully written to $local_file\n";
}
else {
    echo "There was a problem\n";
}
// close the connection
ftp_close($conn_id);

?>

【问题讨论】:

  • 您是否收到任何错误,您为调试问题做了什么?
  • 在我所在位置的远程服务器上下载文件时收到此错误> 警告:ftp_get(/httpdocs/teste.pdf):无法打开流:/Applications/XAMPP 中没有此类文件或目录/xamppfiles/htdocs/LDL/api/ftpdow.php 在第 16 行警告:ftp_get(): Error opening /httpdocs/teste.pdf in /Applications/XAMPP/xamppfiles/htdocs/LDL/api/ftpdow.php on line 16 那里是个问题
  • httpdocs != htdocs
  • 您可以使用任何 (GUI) FTP 客户端使用相同的凭据下载该文件吗? => 向我们展示它的日志文件。

标签: php ftp ftps


【解决方案1】:

我认为您不能下载文件夹。尝试在$server_file中包含文件名

ftp_get($conn_id, './teste.pdf', '/httpdocs/teste.pdf', FTP_BINARY)

另外,/httpdocs/ 应该相对于您的 FTP 用户的主文件夹

【讨论】:

  • 我想从我所在位置以外的 ftp 主机下载文件并在我所在位置下载,我会更清楚吗?这是可能的,我从来没有这样做过
  • 我收到警告错误,因为他在站点上而不是在远程主机上查找文件
  • 警告:ftp_get(/httpdocs/teste.pdf):无法打开流:第 16 行的 /Applications/XAMPP/xamppfiles/htdocs/LDL/api/ftpdow.php 中没有此类文件或目录警告:ftp_get(): Error opening /httpdocs/teste.pdf in /Applications/XAMPP/xamppfiles/htdocs/LDL/api/ftpdow.php on line 16 有问题
  • 不清楚的是FTP服务器上的文件路径是什么,你想把下载的文件放在哪里?例如,如果服务器上的文件位于名为 /serverfile.pdf 的根文件夹中,并且您想将其保存在当前文件夹中,请尝试 ftp_get($conn_id, './downloaded.pdf', '/serverfile.pdf', FTP_BINARY)。从您的代码中,它似乎在 ROOT (/) 上寻找文件夹 httpdocs 以供下载,而不是当前目录。要使用当前工作目录,请在斜杠前添加点 (.)
猜你喜欢
  • 1970-01-01
  • 2020-05-29
  • 2016-05-24
  • 2012-07-09
  • 2012-08-27
  • 2017-10-31
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多