1

さて、filezilla サーバー ソフトウェアのセットアップは完了しましたが、ユーザー名、パスワード、およびフォルダーを保持する xml ファイルに新しいユーザーを追加する php スクリプトが必要です。内部の現在の情報を削除せずに、既存のxmlファイルに追加したい。これを行うための利用可能な方法またはスクリプトを知っている場合は、私に送信するか、知識を共有してください。それ以外の場合は、ユーザーごとに個別の xml またはファイルを持つ別の ftp サーバー プログラムがある場合は、お知らせください。前もってありがとう、マット。

4

2 に答える 2

2

最善の策は、 SimpleXMLを使用して XML ファイルを操作することです。

  1. simplexml_load_fileを使用してファイルを開きます。そのファイルへの読み取り/書き込みアクセス権があることを確認してください。
  2. ノードを追加および削除するには、 SimpleXMLElementクラスを使用します。
于 2012-04-16T03:46:53.990 に答える
1
 $user = $xml->Users->addChild('User');
 $user->addAttribute('Name', $user_name);

 add_option($user,'Pass',md5($password));
 add_option($user,'Group',null);
 add_option($user,'Bypass server userlimit','0');
 add_option($user,'User Limit','0');
 add_option($user,'IP Limit','0');
 add_option($user,'Enabled','1');
 add_option($user,'Comments','none');
 add_option($user,'ForceSsl','0');

 $filter = $user->addChild('IpFilter');
 $filter->addChild('Disallowed');
 $filter->addChild('Allowed');

 $permissions = $user->addChild('Permissions');
 $permission = $permissions->addChild('Permission');

 $permission->addAttribute('Dir', str_replace("/","\\",$ftpUserFolder));

 add_option($permission,'FileRead','1');
 add_option($permission,'FileWrite','1');
 add_option($permission,'FileDelete','1');
 add_option($permission,'FileAppend','1');
 add_option($permission,'DirCreate','1');
 add_option($permission,'DirDelete','1');
 add_option($permission,'DirList','1');
 add_option($permission,'DirSubdirs','1');
 add_option($permission,'IsHome','1');
 add_option($permission,'AutoCreate','1');

 $speed = $user->addChild('SpeedLimits');
 $speed->addAttribute('DlType', '1');
 $speed->addAttribute('DlLimit', '10');
 $speed->addAttribute('ServerDlLimitBypass', '0');
 $speed->addAttribute('UlType', '1');
 $speed->addAttribute('UlLimit', '10');
 $speed->addAttribute('ServerUlLimitBypass', '0');
 $speed->addChild('Download');
 $speed->addChild('Upload');

 if(!$rv = $xml->asXML($xmlfile)){
  echo ('SimpleXML could not write file');
  return false;
 }


 //Change file encoding from UTF8 to ISO-8859-1
 $dom = new DOMDocument("1.0","ISO-8859-1");
 $dom->preserveWhiteSpace = false;
 $dom->formatOutput = true;
 if(!$dom->load($xmlfile) || !$dom->save($xmlfile)){
  echo ('DOMDocument could not change file enconding from UTF8 to ISO-8859-1');

私のブログからの完全なスクリプト:http://moshez.blogspot.co.il/2013/02/php-filezilla-ftp-server-auto-create.html

于 2013-03-18T17:29:27.997 に答える