用PHP即时添加,删除FTP帐号和更改FTP密码的函数
2003-07-18 06:55
706 查看
网上不知道有没有Serv-U FTP的接口,这类的资料,由于不知道Serv-U的加密方式,所以没有使用加密密码的方式,如果有人知道算法,麻烦你告诉我一声
$filepath是Serv-U的安装地址,$FTPpath是你要开通FTP的文件夹地址
主要方式是把ServUDaemon.ini文件读如数组,然后操作数组元素达到修改配置文件的目的.初学PHP,还不会写Class,大虾多多指点
<?php
///////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2003 醉雨梧桐 All rights reserved. //
// Powered by 醉雨梧桐 //
// http://btyz.51web.cn/ //
// 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<count($servu_config);$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("/n",$servu_config));//配置文件写入ServUDaemon.ini
fclose($inifile);
//用户详细配置
$config="/n[USER=$user|1]
Password=$pws
HomeDir=g:/my documents/http/webspace//".$user."
RelPaths=1
DiskQuota=1|10240000|0
MaxUsersLoginPerIP=1
SpeedLimitUp=51200
SpeedLimitDown=51200
TimeOut=60
SessionTimeOut=600
MaxNrUsers=1
Access1=G:/My Documents/http/webspace//".$user."|RWAMLCDP";
$inifile=fopen($filepath,"a");//打开新的文件指针
fputs($inifile,$config) or die("无法写入文件");//添加新用户的配置文件
fclose($inifile);//关闭文件指针
mkdir($FTPpath."//".$user);//建立ftp的文件夹
}
////////////////////////////////////////////////////////////////
function change_pws($user,$pws)//更改密码
{
global $filepath;
$servu_config=file($filepath);
del_nl($servu_config);//去除空行
for($i=0;$i<count($servu_config);$i++){
if($servu_config[$i]=="[USER=$user|1]"){ //判断用户所在的数组索引
break;//退出循环,取得名字项的$i值
}//if
}//for
for($i;$i<count($servu_config);$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("/n",$servu_config));//写入文件
fclose($inifile);//关闭文件指针
}
/////////////////////////////////////////////////////////////
function del_user($user)//删除用户
{
global $filepath;
$servu_config=file($filepath);
del_nl($servu_config);
for($i=0;$i<count($servu_config);$i++){
if(substr($servu_config[$i],6,strlen($servu_config[$i])-10)==$user){ //判断用户所在的数组索引
$servu_config[$i]="";//删除文件列表中的用户名例如去掉User1=ANONYMOUS|1|0
break;//退出循环,以便删除下一个内容:用户配置文件
}//if
}//for
for($i;$i<count($servu_config);$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("/n",$servu_config));//写入文件
fclose($inifile);//关闭文件指针
}
////////////////////////////////////////删除空行///////////////////////////////////////////
function del_nl(&$arr)
{
for($i=0;$i<count($arr)-1;$i++){
$arr[$i]=trim($arr[$i]);//去掉空格,回车,换行
if($arr[$i]==""){
$j=$i;
while($arr[$j])
$arr[$j]=$arr[$j+1];
$arr[$j]="/0";
}//end if
}//end for
}//end del_nl
?>
$filepath是Serv-U的安装地址,$FTPpath是你要开通FTP的文件夹地址
主要方式是把ServUDaemon.ini文件读如数组,然后操作数组元素达到修改配置文件的目的.初学PHP,还不会写Class,大虾多多指点
<?php
///////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2003 醉雨梧桐 All rights reserved. //
// Powered by 醉雨梧桐 //
// http://btyz.51web.cn/ //
// 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<count($servu_config);$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("/n",$servu_config));//配置文件写入ServUDaemon.ini
fclose($inifile);
//用户详细配置
$config="/n[USER=$user|1]
Password=$pws
HomeDir=g:/my documents/http/webspace//".$user."
RelPaths=1
DiskQuota=1|10240000|0
MaxUsersLoginPerIP=1
SpeedLimitUp=51200
SpeedLimitDown=51200
TimeOut=60
SessionTimeOut=600
MaxNrUsers=1
Access1=G:/My Documents/http/webspace//".$user."|RWAMLCDP";
$inifile=fopen($filepath,"a");//打开新的文件指针
fputs($inifile,$config) or die("无法写入文件");//添加新用户的配置文件
fclose($inifile);//关闭文件指针
mkdir($FTPpath."//".$user);//建立ftp的文件夹
}
////////////////////////////////////////////////////////////////
function change_pws($user,$pws)//更改密码
{
global $filepath;
$servu_config=file($filepath);
del_nl($servu_config);//去除空行
for($i=0;$i<count($servu_config);$i++){
if($servu_config[$i]=="[USER=$user|1]"){ //判断用户所在的数组索引
break;//退出循环,取得名字项的$i值
}//if
}//for
for($i;$i<count($servu_config);$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("/n",$servu_config));//写入文件
fclose($inifile);//关闭文件指针
}
/////////////////////////////////////////////////////////////
function del_user($user)//删除用户
{
global $filepath;
$servu_config=file($filepath);
del_nl($servu_config);
for($i=0;$i<count($servu_config);$i++){
if(substr($servu_config[$i],6,strlen($servu_config[$i])-10)==$user){ //判断用户所在的数组索引
$servu_config[$i]="";//删除文件列表中的用户名例如去掉User1=ANONYMOUS|1|0
break;//退出循环,以便删除下一个内容:用户配置文件
}//if
}//for
for($i;$i<count($servu_config);$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("/n",$servu_config));//写入文件
fclose($inifile);//关闭文件指针
}
////////////////////////////////////////删除空行///////////////////////////////////////////
function del_nl(&$arr)
{
for($i=0;$i<count($arr)-1;$i++){
$arr[$i]=trim($arr[$i]);//去掉空格,回车,换行
if($arr[$i]==""){
$j=$i;
while($arr[$j])
$arr[$j]=$arr[$j+1];
$arr[$j]="/0";
}//end if
}//end for
}//end del_nl
?>
相关文章推荐
- 【原创】Ubuntu下更改root用户密码以及添加/删除用户
- php数组添加与删除单元的常用函数实例分析
- PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆
- Mysql数据库添加和删除用户,更改密码!
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录(转)
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
- mysql用户添加、删除、更改密码
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
- 【原创】Ubuntu下更改root用户密码以及添加/删除用户
- php数组添加与删除单元的常用函数实例分析
- Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
- PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
- PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
- php的unlink()函数删除上级目录文件
- php中删除文件或目录的函数
- php创建文件夹和删除文件夹函数
- 去掉 控制面板添加删除程序中的更改和删除按钮