本文共 3107 字,大约阅读时间需要 10 分钟。
网上不知道有没有Serv-U 的接口,这类的资料,由于不知道Serv-U的方式,所以没有使用加密密码的方式,如果有人知道算法,麻烦你告诉我一声
$filepath是Serv-U的地址,$FTPpath是你要开通FTP的夹地址主要方式是把ServUDaemon.ini文件读如数组,然后操作数组元素达到修改文件的目的.初学,还不会写Class,大虾多多指点<?php
///// Copyright (C) 醉雨梧桐 All rights reserved. //// Powered by 醉雨梧桐 //// .cn/">http://btyz.51web.cn/ //// to:winterfire@163.com" rel="nofollow">winterfire@163.com ///////function add_ftp_user($user,$pws)//把添加到Serv-U的用户列表中{ global $filepath,$FTPpath;@copy($filepath,$filepath.".bak");//文件$servu_config=file($filepath.".bak");for($i=0;$i if(substr($servu_config[$i],0,4)=="User"){ $user_num[0]=substr($servu_config[$i],4,1)+1;//判断现在有多少用户 $user_num[1]=$i+1;//判断新用户添加的位置 }}for($i=count($servu_config);$i<=$user_num[1];$i--){ $servu_config[$i]=$servu_config[$i-1];//把新用户后的内容向后一行}$servu_config[$user_num[1]]="User".$user_num[0]."=$user|1|0";//添加新用户到列表中del_nl($servu_config);//删除空行$inifile=fopen($filepath,"w");fputs($inifile,implode(" ",$servu_config));//配置文件写入ServUDaemon.inifclose($inifile);//用户详细配置
$config=" [USER=$user|1]Pass=$pwsHomeDir=g:my documentshttpwebspace".$user."RelPaths=1DiskQuota=1|10240000|0MaxUsersLoginPerIP=1SpeedLimitUp=51200SpeedLimitDown=51200TimeOut=60SessionTimeOut=600MaxNrUsers=1Access1=G:My Documentshttpwebspace".$user."|RWAMLCDP";$inifile=fopen($filepath,"a");//打开新的文件指针fputs($inifile,$config) or die("无法写入文件");//添加新用户的配置文件fclose($inifile);//关闭文件指针mkdir($FTPpath."建立ftp的文件夹}function change_pws($user,$pws)//更改密码{ global $filepath; $servu_config=file($filepath); del_nl($servu_config);//去除空行 for($i=0;$i if($servu_config[$i]=="[USER=$user|1]"){ //判断用户所在的数组 break;//退出循环,取得名字项的$i值 }//if }//for for($i;$i if(substr($servu_config[$i],0,9)=="Password="){//判断名字项的下一个是密码项 $servu_config[$i]="Password=$pws";//修改密码值 break;//退出循环,防止修改到其他密码项 } } if($i==count($servu_config)){ print "找不到该用户"; exit(); } $inifile=fopen($filepath,"w");//以写入的方式打开文件,原来文件中的内容将消失 fputs($inifile,implode(" ",$servu_config));//写入文件 fclose($inifile);//关闭文件指针}/function del_user($user)//删除用户{ global $filepath; $servu_config=file($filepath); del_nl($servu_config); for($i=0;$i if(substr($servu_config[$i],6,strlen($servu_config[$i])-10)==$user){ //判断用户所在的数组索引 $servu_config[$i]="";//删除文件列表中的用户名例如去掉User1=ANONYMOUS|1|0 break;//退出循环,以便删除下一个内容:用户配置文件 }//if }//forfor($i;$i if($servu_config[$i]=="[USER=$user|1]")
$start=$i;//取得第一项的$i if(isset($start)&&substr($servu_config[$i],0,6)=="[USER="&&($i>$start)) break;//退出循环 }//for $end=$i-1;//取得最后一项$i-1 if(!isset($start)){ print "用户不存在"; exit(); }//end if for($i=$start;$i<=$end;$i++){ $servu_config[$i]=""; } del_nl($servu_config);//删除空行 $inifile=fopen($filepath,"w");//以写入的方式打开文件,原来文件中的内容将消失 fputs($inifile,implode(" ",$servu_config));//写入文件 fclose($inifile);//关闭文件指针}删除空行///function del_nl(&$arr){ for($i=0;$i $arr[$i]=trim($arr[$i]);//去掉空格,回车,换行 if($arr[$i]==""){ $j=$i; while($arr[$j]) $arr[$j]=$arr[$j+1]; $arr[$j]=""; }//end if }//end for}//end del_nl?>来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-959366/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10748419/viewspace-959366/