使用php中的curl从FTP下载文件
我正在制作一个php脚本,打算在CLI中运行,这将帮助我在ftp服务器上下载文件.
我将告诉你到底出了什么问题,但在此之前我会解释你的背景是什么. 我注册了一个分享老歌游戏图像文件的网站.当我们想要在此站点上下载文件时,我们必须进行注册以检索下载链接.然后,给出的链接是FTP下载链接. 我使用Wireshark捕获了FTP连接数据包,并将其与我失败的脚本化FTP传输进行比较. 所以,.. ftp://website.url/somefolder/1/foo/bar/SOMEOLDIE.rar 现在,如果我使用FileZilla连接到这个FTP,使用匿名登录我可以访问,我看到一些文件夹,但是当我去我的iso必须的“somefolder”时,该文件夹是空的. 看看这张图片,然后我会告诉你代码. 现在的代码; function download_file($url){ echo "Downloading: ".$url; $ch = curl_init($url); $fp = fopen("data/output.rar","w"); curl_setopt($ch,CURLOPT_HEADER,1); curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($ch,CURLOPT_COOKIEFILE,'data/cookies.txt'); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); //curl_setopt($ch,CURLOPT_FAILONERROR,1); //curl_setopt($ch,CURLOPT_FTPLISTONLY,1); curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_BINARYTRANSFER,CURLOPT_USERPWD,"anonymous:mozilla@example.com"); curl_setopt($ch,CURLOPT_FILE,$fp); curl_exec($ch); //var_dump(curl_getinfo($ch)); //echo curl_error($ch); curl_close($ch); fclose($fp); } 任何人都可以帮助我吗?我不熟悉curl,我不知道怎么告诉curl发送我想要的命令. 谢谢 ! 编辑:看看这个,它的问题完全一样; Need help downloading a file using PHP and Curl from an FTP 解决方法
好的伙计我明白了:)
我使用ftp的ftp_ *函数代替curl,因为curl尝试更改目录,但是在这个ftp服务器上不允许这样做,所以我使用的代码是; $local_file = 'output.rar'; $server_file = '/somedir/1/bar/foo/somearchive.rar'; $ftp_user_name='anonymous'; $ftp_user_pass='mozilla@example.com'; $ftp_server='server.host'; // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass); /* uncomment if you need to change directories if (ftp_chdir($conn_id,"<directory>")) { echo "Current directory is now: " . ftp_pwd($conn_id) . "n"; } else { echo "Couldn't change directoryn"; } */ // 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_filen"; } else { echo "There was a problemn"; } // close the connection ftp_close($conn_id); 有用 !! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |