范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

PHP如何获取Ftp服务器上文件

  如何获取Ftp服务器上的文件可以通过账号密码,使用Xftp进行链接
  XFtp连接 通过代码获取,本文主要是通过php代码获取Ftp上的文件,并且去重。      private $hostname    = ""; 地址     private $username    = "";       private $password    = "";     private $port        = 21;     private $conn_id     = FALSE;      /**      * FTP登陆      *      * @access  private      * @return boolean      */     private function _login()     {         return @ftp_login($this->conn_id, $this->username, $this->password);     }            /**      * 关闭FTP      *      * @access  public      * @return boolean      */     public function close()     {         if (!$this->_isconn()) {             return FALSE;         }          return @ftp_close($this->conn_id);     }            /**      * 判断con_id      *      * @access  private      * @return boolean      */     private function _isconn()     {         if (!is_resource($this->conn_id)) {             if ($this->debug === TRUE) {                 $this->_error("ftp_no_connection");             }             return FALSE;         }         return TRUE;     }          /**      * 下载      *      * @access  public      * @param  string  远程目录标识(ftp)      * @param string 本地目录标识      * @param string 下载模式 auto || ascii       * @return boolean      */     public function download($remotepath, $localpath, $mode = "auto")     {         if (!$this->_isconn()) {             return FALSE;         }         $mode = ($mode == "ascii") ? FTP_ASCII : FTP_BINARY;          $result = @ftp_get($this->conn_id, $localpath, $remotepath, $mode);          if ($result === FALSE) {             if ($this->debug === TRUE) {                 $this->_error("ftp_unable_to_download:localpath[" . $localpath . "]-remotepath[" . $remotepath . "]");             }             return FALSE;         }         return TRUE;     }           /**      * 获取目录文件列表      *      * @access  public      * @param  string  目录标识(ftp)      * @return array      */     public function filelist($path = ".")     {         if (!$this->_isconn()) {             return FALSE;         }         return ftp_nlist($this->conn_id, $path);     }
  以上是ftp一些基础操作,连接,获取文件列表,下载文件,需要获取代码可以私信我获取,
  接下来需要进行获取文件操作,并且去除重复的 获取本地文件 获取远程文件 对比本地没有的文件并且下载 对下载的文件进行相关操作     /**      * 获取远程文件列表      */     private function getRemoteFileList($path, $config)     {         $this->ftp = new Ftp($config);         $res = $this->ftp->connect($config);         if ($res) {             $fileArr = array();             $list = $this->listFtpDir($path, $fileArr);             $this->ftp->close();             return $list;         }         return false;     }      private function listFtpDir($dir, &$fileArr)     {         $data = $this->ftp->filelist($dir);         if (!is_array($data)) {             return;         }         foreach ($data as $value) {             if ($this->is_json_file($value)) {                 $fileArr[] = $value;             } else {                 $this->listFtpDir($value, $fileArr);             }         }         return $fileArr;     }           public function file($dataDir)     {         //获取本地文件列表         $localFileList = $this->getBrLocalFileList($dataDir, "FLIE/");         if (count($localFileList) > 0) {             foreach ($localFileList as $key => $value) {                 $localFileList[$key] = str_replace(self::FTP_FILE_DIR, "", $value);             }         }         //获取远程文件列表         $remoteFileList = $this->getBrRemoteFileList($dataDir, "FLIE");         //获取本地没有的文件列表         $remoteArr = array();         if (count($localFileList) > 0) {             foreach ($remoteFileList as $key => $value) {                 if (!in_array($value, $localFileList)) {                     $remoteArr[] = $value;                 }             }         } else {             $remoteArr = $remoteFileList;         }         //下载文件,对于本地有的不会进行二次下载,上面方法已经过滤         然后对文件需要的操作,              }        /**      * 下载远程文件      */     private function downRemote2LocalWget($localFtpDir, $list, $config)     {         $this->ftp = new ftp($config);         $this->ftp->connect();         foreach ($list as $value) {             $dir = $localFtpDir . "/" . substr($value, 0, strripos($value, "/"));             if (!is_dir($dir)) mkdir($dir, 0777, true);             //本地存在则删除             if (is_file($localFtpDir . "/" . $value)) {                 unlink($localFtpDir . "/" . $value);             }             if (!is_file($localFtpDir . "/" . $value)) {                 $filesize = $this->ftp->ftpfilesize($value);                 if (!$filesize) {                     echo "服务端文件为空!" . " ";                 } else {                     $re = $this->ftp->download($value, $dir . "/" . substr($value, strripos($value, "/") + 1, strlen($value) - 1));                     if ($re) {                         echo "下载" . $value . "成功!" . " ";                     } else {                         echo "下载" . $value . "失败!" . " ";                     }                 }             }         }         $this->ftp->close();     }
  上面是FTP下载文件一些基本操作,只贴了部分代码。如有出入,可以后台联系我,欢迎指正。

谈谈对现在程序员的一些观点和感想大家好,我是资深初级Java工程师大橙子,91年的奋斗单身中年,从事Java开发已经近8年了,可惜,并没有达到人们口中的专家总监,我相信再看文章的你们,早已经是行业的专家或者总监级360亿美元!台积电官宣支出下调,半导体行业寒气继续蔓延还记得任正非的那句话吗?活下来是华为未来35年的主要目标,寒气将传递给每个人。或许当时很多人觉得任老爷子在危言耸听,但现在看来,他才是对局势看得最明白最透彻的人。半导体行业的寒气正发改委对外商投资表态17日,二十大新闻中心举行首场记者招待会,会上有外国财经记者提问外商投资有关情况。发展改革委党组成员副主任赵辰昕回应了记者提问。今年以来,在全球疫情反复延宕国际形势复杂严峻跨国投资以甲醇产业为抓手引领农工商金融融合创新行动以甲醇产业为抓手引领农工商金融融合创新行动记中懋华能源投资有限公司团队的发展布局与实践路径陈茂高在2021中国新能源产业经济年会上作主题发言写在前面在能源发展的强大阵容中,绿色甲醇美欧对俄石油限价,成了大笑话!就是手指头卷煎饼,自己吃自己早前,美国为了削弱俄罗斯的经济收入,确切来说,也是为了维持其石油美元霸权地位,宣布对俄罗斯石油进行限价。根据美国财政部之前设定的价格,就是44美元每桶。为迫使国际社会参与这个限价联全球经济寒冬中,如何投资才能赚到钱?10月财经新势力近日惊悉,韩国全民炒股的新闻。新闻报道说韩国男女老少都热衷于炒股,全韩国活跃股票账户数比韩国总人口数还要多大几百万。但是,当韩国全民炒股陷入疯狂,暴富梦正酣之时,美除了电热毯,欧洲人正买爆中国过冬八件套欧洲能源危机加剧叠加寒冬将至,来自中国的过冬八件套正远销欧洲。秋衣秋裤光腿神器法兰绒睡衣热水袋暖手宝取暖器电热毯和高领毛衣等中国制过冬产品正被欧洲消费者买爆。中国人过冬不可或缺的秋央视快评丨在党的旗帜下团结成一块坚硬的钢铁10月17日,习近平总书记在参加党的二十大广西代表团讨论时强调,党的二十大报告进一步指明了党和国家事业的前进方向,是我们党团结带领全国各族人民在新时代新征程坚持和发展中国特色社会主湖南联通组织党员群众收听收看党的二十大开幕盛况10月16日上午,中国共产党第二十次全国代表大会在北京人民大会堂隆重召开。湖南联通党委认真组织广大党员团员职工党外人士收听收看开幕会,迅速把广大党员员工的思想统一到党的二十大精神上高性价比豪华SUV之选,揭秘林肯冒险家用车成本如今,豪华汽车在中国市场开启性价比模式已经是稀松平常的事情了,一方面消费者们可以用更合理的预算买到更加高端的豪华车,另一方面也大大提升了豪华车品牌的市场覆盖率。在这方面,林肯品牌算党代表说丨周宇坤以人民安全为宗旨筑牢消防安全基石红网时刻新闻记者朱丽萍报道国家安全是民族复兴的根基,社会稳定是国家强盛的前提。作为消防安全领域的党员干部,我最关心的是如何进一步推动全社会落实消防安全责任强化基层消防安全治理,减少
定了!中超一线队人数为305,大连人队谁去谁留?今日中国足协召开了新赛季三级职业联赛的媒体讨论会,同时公布了新赛季的具体相关政策(竞赛政策),议题之一就包含了新赛季中超一线队的人数和结构。与此前网传的方案相比有所变化,最终的政策惠普暗影精灵9Plus高能版今晚开卖i7RTX4080,14999元IT之家2月8日消息,惠普新款暗影精灵9Plus高能版游戏本今晚10点正式开卖,i713700HXRTX4080配置,首发14999元。配置方面,惠普新款暗影精灵9Plus高能版配抗美援朝时美国等联军投入了多少兵力抗美援朝是新中国重新站起来的战争,当时新中国国情是百废待兴,但是没有人把我们当回事,甚至利用朝鲜战争不断骚扰我们边界,于是新中国做了一次重大也决定抗美援朝。在这场战争中也彻底决定了关于抗日战争美国援华的驼峰航线今天在头条上看了一个历史老师,跪舔美国,无限拔高飞虎队,将其描述为美国对中国的天大恩情,要求中国人要感恩,在当今中美博弈这个大背景下,你这种操作背后的意图昭然若揭,利用国人对历史一为何极氪X还未上市,美国的媒体评论区已经炸开了锅?自主品牌中,吉利集团的全球影响力还是很强的。拿下沃尔沃入股戴姆勒以及尝试收购阿斯顿马丁等全球买买买的动作想低调都难。这也有一个好处,吉利系的新车就能容易抓住全球消费者的眼球。极氪,干货小铺第3期一文带你60级速通生化新赛季哈喽各位CFer大家好,欢迎来到本期干货小铺。今天为大家带来的是2023年生化新赛季Z1的速通教程,本文或许对想拿生化赛季道具奖励但是不怎么打生化的CFer们有一定帮助,只需不到一巴媒前巴西队主帅蒂特拒绝韩国队4年合同未来想去欧洲执教直播吧2月9日讯据韩国媒体BestEleven援引巴西媒体的消息,前巴西队主帅蒂特拒绝了韩国队的邀请。蒂特的经纪人透露,韩国足协为蒂特开出了一份为期四年的合同,目标包括2023年亚格里芬豪取赛季新高,杰伦布朗伤退,凯尔特人客场力克76人!廉颇老矣,尚能饭否?北京时间2月9日,凯尔特人客场对战76人,本场比赛凯尔特格威霍福德斯玛特三人缺阵。凯尔特人也是将老将格里芬提到首发位置,果然格里芬不负众望,在塔图姆全场手感不佳男篮调整首发阵容,降高提速,乔帅或使用一大四小,主抓三分投射中国男篮集训进入到第9天,根据分组对抗情况来看,乔帅对队员有了更加深入地了解,此前考察CBA第二阶段,只是初步了解,随着进一步磨合,已经对18人名单的能力技术特点全盘掌握,在红白黑债务上限风波再次点燃!市场显示美国违约概率甚至高于巴西最近,国际金融市场上发生了一个令人关注的事件,即美国新一轮的债务上限风波又已经开始了。这甚至导致CDS市场反映的美国12个月内的违约风险甚至高于巴西,非常令人尴尬。美国债务上限是指备孕怀孕哺乳期的营养一胎儿如何形成的妈妈的卵子和爸爸的精子结合,开始了一个新的生命,受精卵在妈妈子宫胎里,孕育40周,妈妈生出一个2。54。0千克新生儿,未来无限美好新的生命诞生了,关键是生命的起始阶