利用PHP函数显示远程主机文件目录(FTP文件目录)

三月 29
磊子 2012年 4 条评论

这些天由于项目需要,要把远程的主机文件目录即FTP里面的文件目录显示出来。网上找了好多都没有一个理想的方法,所有自己尝试写了一段代码。今儿赶紧把它拿上来,做下总结。

主要使用了PHP里面的FTP函数。首先需要进行FTP连接,如下代码:

/**
* 初始化FTP连接
* $ftp_ip FTP地址或者IP 
* $ftp_user FTP用户名
* $ftp_passwd FTP密码
*/
$conn = ftp_connect($ftp_ip) or die("FTP链接失败\n");
$FtpLogin = ftp_login($conn,$ftp_user,$ftp_passwd);
if($FtpLogin)
{
    $files = ftp_nlist($conn,'.');
}

链接成功后,利用ftp_nlist函数首先将FTP中的文件根目录显示出来

<?php

foreach($files as $k => $file)    //根目录
{
  $thisFile = basename($file);
  if($thisFile != '.' && $thisFile != '..')
  {
	$dr1 = substr($thisFile,0,1);
	$loc = strpos($thisFile,'.');
	if(empty($loc) && $dr1 != '.' )
	{
          $newdir = ftp_nlist($conn, './'.$file);
	  echo $thisFile;
          if(!empty($newdir))
          {
            foreach($newdir as $key=>$vol)    //二级目录
            {
    		$thisFile2 = basename($vol);
    		if($thisFile2 != '.' && $thisFile2 != '..')
    		{
                   $dir2 = substr($thisFile2,0,1);
    		   $loc2 = strpos($thisFile2,'.');
    		  if(empty($loc2) && $dir2 != '.' )
    		  {
    			 echo $thisFile2;
    			 $newdir2 = ftp_nlist($conn, './'.$vol);
                         if(!empty($newdir2))
                         {
                             foreach($newdir2 as $key2=>$vol2)    //三级目录
        		     {
        			$thisFile3 = basename($vol2);
        			if($thisFile3 != '.' && $thisFile3 != '..')
        			{
        			  $dir3 = substr($thisFile3,0,1);
        		          $loc3 = strpos($thisFile3,'.');
        			  if(empty($loc3) && $dir3 != '.' )
        			  {
        			     echo $thisFile3;
        			  }
        			}}}}}
    			}
            }
		}
  }
}
ftp_close($conn);
?>

这样一个简单的远程FTP文件目录显示就完成了,不过里面只是显示了三级目录,感兴趣的朋友可以拓展一下,利用递归或其他方法来全部显示或者控制显示的文件目录级数。方法很简单,熟悉PHP一看就明白。有什么好的建议的,希望大家多多提出!

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » 利用PHP函数显示远程主机文件目录(FTP文件目录)
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

4 条留言 其中:访客:3 条, 博主:1 条

  1. 母婴B2b说:

    博主66666666 :twisted:

  2. choovin说:

    过来学习了

  3. 交换友情链接么?

    • 磊子说:

      可以的! 请到友情链接页面下留下言吧! 呵呵! 我的是友链关键词是: WordPress主题制作

说点什么吧




订阅本站