加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP中FTP相关函数小结

发布时间:2020-05-23 11:52:47 所属栏目:PHP 来源:互联网
导读:这篇文章主要介绍了PHP中FTP相关函数,涉及php操作ftp的连接、传输及文件与目录的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了PHP中FTP相关函数。分享给大家供大家参考,具体如下:

$value){ $items .=sprintf($itemTPL,$value['name'],$value['detail']); } $bodyTPL='%s'; $data = sprintf($bodyTPL,$items); echo "n".createFile(STORE_PATH,$saveFileName,$data); } set_time_limit(0); $start_time = time(); $bookCache=array(); $categoryDir = "tingshuweb"; getClassXml($conn_id,$categoryDir); //获取顶级栏目 $clist = getDirListFormFtp($conn_id,$categoryDir); //获取二级栏目分类 foreach ($clist as $key=>$value){ $_secondCateoryDir = $categoryDir.''.$value['name']; $_secondCateorylist = getDirListFormFtp($conn_id,$_secondCateoryDir); $listData=''; $listTPL='%s%s%s'; $items ='%s%s'; $listItemString=''; //获取详细书籍章节列表 foreach ($_secondCateorylist as $key=>$book){ $listItemString.=sprintf($items,$book['name'],$book['detail']); $_bookListDir = $_secondCateoryDir.''.$book['name']; $chapters = getBook($conn_id,$_bookListDir); //生产book章节html getBookofChapter ($book,$chapters); //缓存bookid和章节信息 $bookCache[$book['name']] = array('category'=>$value['name'],'chapters'=>$chapters); } //生成二级栏目列表页 $listData = sprintf($listTPL,$value['detail'],$listItemString); $list_save_path = $value['name'] . '.xml'; echo "n".createFile(LIST_PATH,$list_save_path,$listData); } $arrString = ""; echo "n建立缓存文件:".createFile(STORE_PATH,'bookcache.php',$arrString); /** * 抓取书籍章节信息 * * @param array $bookIds 书籍章节信息 * * @return boolean 返回是否抓取成功 */ function getBookofChapter ($bookinfo,$chapters) { if (! is_array($chapters)) { return false; } $bookData = ''; $bookTPL = '%s%s%s'; $bookItemTPL='%s%s'; //%s //%s //,$item['downurl'],$item['downurl'] $chapterString=''; foreach ($chapters as $key=>$item){ $chapterString.=sprintf($bookItemTPL,$item['name'],$item['detail']); } //生成二级栏目列表页 $bookData = sprintf($bookTPL,$bookinfo['name'],$bookinfo['detail'],$chapterString); $book_chapter_save_path = $bookinfo['name'] . '.xml'; if (! empty($bookData)) { echo "n".createFile(CHAPTER_PATH,$book_chapter_save_path,$bookData); } return true; } function getBook($conn_id,$_bookListDir){ $chapter=array(); $buff = ftp_nlist ( $conn_id,$_bookListDir ); if(is_array($buff)){ $resourceArray = array(); foreach ($buff as $key=>$value){ if(strstr( $value,'.txt' )){ }else{ $resourcesName = str_replace($_bookListDir.'',"",$value); $temp = preg_split ( '/./',$resourcesName); $resourceArray[trim($temp[0])]=$resourcesName; } } foreach ($buff as $key=>$value){ if(strstr( $value,'.txt' )){ $name = trim(str_replace(".txt",str_replace($_bookListDir.'',$value))); $chapter[$name] = array ( 'name' => $name,'detail' => getFileContentsFormFtp ( $conn_id,$value ),'downurl' =>$resourceArray[$name] ); } } } ksort($chapter,SORT_NUMERIC); echo "n"; var_dump('chapter index :'.implode(array_keys ($chapter),',')); echo "n"; return $chapter; } function getDirListFormFtp($conn_id,$categoryDir) { $categoryArray = array (); $dirs = getDirNameFormFtp ( $conn_id,$categoryDir ); //获取分类描述 foreach ( $dirs as $key => $value ) { $path = $categoryDir . '' . $value . '.txt'; $categoryArray [] = array ('name' => $value,$path ) ); } return $categoryArray; } function getFileContentsFormFtp($conn_id,$server_file) { $_tempFileName = STORE_PATH.'temp.tmp'; $content = ''; try { if (ftp_get ( $conn_id,$_tempFileName,$server_file,FTP_ASCII )) { $content = file_get_contents ( $_tempFileName ); } } catch (Exception $e) { var_dump('error timeout:-----'); global $ftp_server; $conn_id = ftp_connect ( $ftp_server ); if (@ftp_login ( $conn_id,true); if (ftp_get ( $conn_id,FTP_ASCII )) { $content = file_get_contents ( $_tempFileName ); } } $content = iconv ( "GBK","UTF-8//IGNORE",trim($content) ); echo "n"; var_dump('file name :'.$server_file.';content:'.$content); return $content; } function getDirNameFormFtp($conn_id,$dirString) { $buff = ftp_rawlist ( $conn_id,$dirString ); $dirs = array_filter ( $buff,"dirfilter" ); foreach ( $dirs as $key => $value ) { $temp = preg_split ( '//',$value ); $dirs [$key] = trim ( $temp [1] ); } asort($dirs,SORT_NUMERIC); return $dirs; } function dirfilter($var) { return (strstr ( $var,'' )); } ftp_close ( $conn_id );

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》、及《》

希望本文所述对大家PHP程序设计有所帮助。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读