2012-04-16 3 views
1

좋아요, 그렇기 때문에 filezilla 서버 소프트웨어를 설치했는데 사용자 이름, 암호 및 폴더가있는 xml 파일에 새 사용자를 추가하는 PHP 스크립트가 필요합니다. 나는 그것의 내부의 현재 정보를 삭제하지 않고 기존의 XML 파일에 그것을 추가하고 싶습니다. 이를 수행 할 수있는 방법이나 스크립트를 알고 있다면 나에게 보내거나 지식을 공유하십시오. 그렇지 않으면 개별 xml이나 파일을 가진 다른 ftp 서버 프로그램이 있다면 각 사용자에게 알려주십시오. 미리 감사드립니다. Matt.PHPZ 스크립트가 filezilla ftp 계정을 만들 때 필요합니다.

+0

이봐, 당신은 다음, PHP로 파일에 읽기 할 갈 필요가 필요한 데이터를 추가하여 편집하고, 필요한 모든 파일을 저장 –

+0

제발 나를 위해 간단한 스크립트를 제공 할 수 있습니까? 사용자 이름을 변수로 사용하여 사용자가 암호를 입력 할 때와 같이 전에 요청한 변수에서 암호를 추가 할 때와 같이 필요합니다. –

+0

죄송합니다. 죄송합니다. 하하는 그 사실을 알지 못했습니다. 좋아, 75 % 더 좋아? –

답변

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

+2

스택 오버플로에 오신 것을 환영합니다! 답변을 게시 해 주셔서 감사합니다. [Self-Promotion에 대한 FAQ] (http://stackoverflow.com/faq#promotion)를주의 깊게 읽으십시오. 또한 자신의 사이트/제품에 링크 할 때마다 면책 조항을 게시하는 것이 필수적입니다. 나는 당신에게 여기에 공개를 추가했습니다. 미래를 염두에 두시기 바랍니다. –

+2

@ 앤드류 버버 (Antrew Barber), 이런 것들을 꼭 보게되어 반갑습니다! – IronMan84

1

가장 좋은 방법은 SimpleXML을 사용하여 XML 파일을 조작하는 것입니다.

  1. simplexml_load_file을 사용하여 파일을 엽니 다. 해당 파일에 대한 읽기/쓰기 권한이 있는지 확인하십시오.
  2. 노드를 추가하고 삭제하려면 SimpleXMLElement 클래스를 사용하십시오.
+0

그래서이 코드를 제공하면 될까요? 미안하지만 나는 PHP 스크립트를 만드는 초보자입니다. 여기에 XML 파일에있는 코드가 있습니다 : http://pastebin.com/d8kD7tEQ "peacons"사용자 뒤에 새 사용자를 추가해야하고 맨 아래에 동일한 코드를 유지해야합니다. 나는 그것과 같은 간단한 입력 스크립트를 사용하여 사용자 이름과 암호 정보를 생성하도록 사용자에게 묻습니다. –

+2

번역 : "제발 해줘 요." – Josh

+0

무딘 방법으로 넣으려면 예. 그런 스크립트로 어디에서 시작해야할지 모르겠습니다. 그러나 나는 그것을하는 방법을 기꺼이 배우고 있습니다. –

관련 문제