Ftp 我需要帮助把这个脚本放在一起
我有一个ftp帐户创建者的API脚本。我不确定我做错了什么。这里有3个文件,一个是config,一个是function,另一个是accountcreator的APi。将所有文件放入服务器后,它不会创建帐户。有人会帮我吗。多谢各位 第一个配置文件Ftp 我需要帮助把这个脚本放在一起,ftp,account,Ftp,Account,我有一个ftp帐户创建者的API脚本。我不确定我做错了什么。这里有3个文件,一个是config,一个是function,另一个是accountcreator的APi。将所有文件放入服务器后,它不会创建帐户。有人会帮我吗。多谢各位 第一个配置文件 /* cPanel Options */ $cpanel_user = " cpanel username"; $cpanel_pass = "Cpanel password"; $cpanel_domain = '127.
/* cPanel Options */
$cpanel_user = " cpanel username";
$cpanel_pass = "Cpanel password";
$cpanel_domain = '127.0.0.1'; // if this doesn't work, you might not want to use it.
$cpanel_skin = 'x3';
$cpanel_default_ftp_quota = 5; // MB
$url=“http://$cpanel_用户:$cpanel_通行证@$cpanel_域:2082/frontend/$cpanel_皮肤/”
二是功能
function cPanel($action,$function,$args) {
global $MESSAGES, $url;
$url .= "$function?";
$url_args = array();
foreach($args as $key => $value) {
$url_args[] = "$key=$value";
}
$url .= implode("&",$url_args);
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$result = curl_exec($ch);
curl_close($ch);
if ($result === FALSE) {
$status = 'error';
$message = $result;
} else {
$status='success';
$message=$MESSAGES[$action];
}
return array($status, $message);
}
第三个文件与帐户创建
// the options mentioned in part one are set here
include_once 'config.php';
$url = "http://$cpanel_user:$cpanel_pass@$cpanel_domain";
$url .= ":2082/frontend/$cpanel_skin/";
if(isset($_REQUEST['format'])) {
$format=$_REQUEST['format'];
} else {
$format='html';
}
// other stuff (including the emailUser function you'll see called below)
function addUser($user,$pass,$email_address) {
// we need to add the user to our database
// for other purposes
}
function createAccount(
$ftp_user, $ftp_pass, $email_address, $ftp_homedir, $ftp_quota) {
global $base_dir, $source_dir;
$error=addUser($ftp_user, $ftp_pass, $email_address);
if (!$error) {
$ftp_homedir .= $ftp_user;
$copy_dir = $base_dir . $ftp_user;
$cpanel_results = cPanel('signup','ftp/doaddftp.html',
array('login'=>$ftp_user,'password'=>$ftp_pass,
'quota'=>$ftp_quota,'homedir'=>$ftp_homedir)
);
$error = $cpanel_results[0];
if ($error!='error') {
recursive_copy($source_dir,$copy_dir);
}
if($error!='error') {
return emailUser($email_address,'signup','');
} else {
return $cpanel_results;
}
} else {
return array('error', $error);
}
}
$message = Null;
if(isset($_REQUEST['submit']) ) {
switch ($_REQUEST['submit']) {
case $signup_button:
$args = createAccount(
$_REQUEST['username'],$_REQUEST['password'],
$_REQUEST['email_address'],$_REQUEST['ftp_homedir'],
$_REQUEST['ftp_quota']);
break;
// other cases snipped
default:
$args = array(Null,Null);
}
$message_class = $args[0];
$message = $args[1];
}
if ($message) {
if ($format!='html') {
die($message);
} else {
$message="<div id=\"message\" class=\"$message_class\">$message</div>";
}
}
// generate html form here
// $message is included and styled to display
// above the form in red (error) or green (success)
?>
<head>
<title>cPanel FTP Account Creator</title>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>
<body>
<style>
input { border: 1px solid black; }
</style>
<form method="post" accept-charset="utf-8">
<label for="username">Username</label>
<input type="text" name="username" value="" id="username">
<label for="password">Password</label>
<input type="password" name="password" value="" id="password">
<label for="email_address">Email Address</label>
<input type="text" name="email_address" value="" id="email_address">
<input type="hidden" name="ftp_quota" value="5" id="ftp_quota">
<input type="hidden" name="ftp_homedir" value="public_html/user_files/" id="ftp_homedir">
<input type="submit" name="submit" value="Sign Up" id="signup_submit">
</form>
</body>
</html>
//第一部分中提到的选项在这里设置
包括一次'config.php';
$url=“http://$cpanel\u用户:$cpanel\u通行证@$cpanel\u域”;
$url.=“:2082/前端/$cpanel_skin/”;
如果(isset($_请求['format'])){
$format=$_请求['format'];
}否则{
$format='html';
}
//其他功能(包括下面调用的emailUser功能)
函数addUser($user、$pass、$email\u地址){
//我们需要将用户添加到数据库中
//为其他目的
}
函数createAccount(
$ftp\u user、$ftp\u pass、$email\u address、$ftp\u homedir、$ftp\u quota){
全局$base\u dir、$source\u dir;
$error=addUser($ftp\u user、$ftp\u pass、$email\u address);
如果(!$error){
$ftp\u homedir.=$ftp\u用户;
$copy\u dir=$base\u dir.$ftp\u user;
$cpanel_results=cpanel('signup','ftp/doaddftp.html',
数组('login'=>ftp\u用户,'password'=>ftp\u密码,
'quota'=>ftp\u quota,'homedir'=>ftp\u homedir)
);
$error=$cpanel_结果[0];
如果($error!=“error”){
递归复制($source\u dir,$copy\u dir);
}
如果($error!=“error”){
返回emailUser($email_地址,'signup','');
}否则{
返回$cpanel_结果;
}
}否则{
返回数组('error',$error);
}
}
$message=Null;
如果(isset($_请求['submit'])){
开关($\u请求['submit']){
案例$signup_按钮:
$args=createAccount(
$请求['username'],$请求['password'],
$\u请求['email\u address'],$\u请求['ftp\u homedir'],
$_请求['ftp_配额]);
打破
//其他案件被截获
违约:
$args=数组(Null,Null);
}
$message_class=$args[0];
$message=$args[1];
}
如果($message){
如果($format!='html'){
死亡($信息);
}否则{
$message=“$message”;
}
}
//在此处生成html表单
//包含$message,并将其样式设置为显示
//表格上方的红色(错误)或绿色(成功)
?>
cPanel FTP帐户创建者
输入{边框:1px纯黑;}
用户名
密码
电子邮件地址
我将不详细介绍,但快速浏览一下,我发现了几个可能的问题:
1) 您可以在用户名或密码中使用特殊/保留字符,因此最好在url中使用它们之前对它们进行url编码
2) 有些CPanel需要会话,因此您还必须将会话id插入url
3) 有些cpanel在cUrl调用中是严格的。我的意思是你们应该有一个“完整的”卷曲调用,包括标题、cookies等等。。。否则卷发就不行了。谁能帮我一下吗?非常感谢。