2011-07-20 294 views
0

我是一名房地产经纪人/网页设计师。我正在尝试编写一个脚本,从ftp服务器将zip文件下载到我的服务器。我的网站全部在php/mysql中。我遇到的问题是我无法真正登录到FTP服务器。该文件通过我可用的链接提供,但访问实际服务器不可用。这是我可以访问的链接。如何从另一个ftp服务器下载文件到我的服务器

ftp://1034733:[email protected]/idx_fl_ftp_down/idx_ftmyersbeach_dn/ftmyersbeach_data.zip

php的正常功能,为实现这个给我一个连接错误。 Php没有权限访问这个服务器...任何解决这个问题的解决方案对我来说都是一个救命的人。我期待每天使用cron作业来运行这个脚本,所以我不必亲自下载这个文件并将其上传到我的(godaddy)服务器,这是我当前的解决方案(不是一个好的,我知道!) 。

此外,我可以自己解开文件,因为我已经做了一些使用php的zip扩展的工作,但任何有效的方法来做这个提示也将被赞赏。我正在寻找访问名为“ftmyers_data.txt”的zip归档文件的文本文件

+0

你确定你的脚本使用相同的连接属性(我猜你是;-))?你有静态IP吗?也许目标服务器将此用户的连接限制为您的IP。 – acme

+0

您可以显示您使用PHP FTP工具的尝试吗? – cwallenpoole

+0

我知道的php FTP工具似乎都需要用户名和密码。我没有ftp服务器的任何登录信息。我只有这个链接。我也不确定知识产权的情况,但我认为在这种情况下这不重要。 – user853819

回答

0

您是否拥有可以运行PHP应用程序的服务器的shell访问权限?如果是这样,您可以使用shell脚本和ftp shell命令自动执行检索。

+0

谢谢你。我有shell访问,虽然我还没有使用它。 curl解决方案给了我一个空的zip文件。我之前也尝试过类似的卷曲脚本。我在想,我需要一个创造性的解决方法来完成这个任务! – user853819

+0

我明白了!看起来像shell访问是要走的路!感谢Brian! – user853819

0

使用php_curl

$curl = curl_init(); 
$fh = fopen("file.zip", 'w'); 
curl_setopt($curl, CURLOPT_URL, "ftp://1034733:[email protected]/idx_fl_ftp_down/idx_ftmyersbeach_dn/ftmyersbeach_data.zip"); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($curl); 
fwrite($fh, $result); 
fclose($fh); 
curl_close($curl); 

容易为pi。 :)

+0

这只给我一个空的zip文件:< – user853819

+0

使用shell访问如果出现任何问题,它会打印出错误信息,帮助您解决问题。 – Perfection

+0

我试图使用shell访问和wget,但是我不断收到'连接被拒绝'的问题。我可以在本地机器上用wget下载文件,但是在godaddy的服务器上没有运气。 (这将是我的托管计划)。请帮忙! – user853819

相关问题