将数据从Contact表单7保存到ftp服务器

时间:2015-12-01 09:27:02

标签: php wordpress web plugins ftp

在我身边玩耍终于弄明白了......显然感谢@vard。

以下代码将文件发送到所需的FTP。要运行更多测试,并确保没有更多错误,

小问题,即使请求通过,Sumbit圈仍在继续转动。应该很容易理清。希望这有助于那里的人。

add_action('wpcf7_before_send_mail', 'log_cf7');


 function log_cf7($WPCF7_ContactForm) {
   $submission = WPCF7_Submission::get_instance();
   $data = $submission->get_posted_data();


   $data2 = print_r($data, true);

   $myfile = fopen($_SERVER['DOCUMENT_ROOT'] . "/tempFile.txt","wb");

   fwrite($myfile, $data2);
   $ftp_server="-";
   $ftp_username="-";
   $ftp_userpass="-";
   $ftp_conn = ftp_connect($ftp_server) or die("Could not connect to server");
   $login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
   if(ftp_put($ftp_conn,"newdata.txt",$_SERVER['DOCUMENT_ROOT'] . "/tempFile.txt",FTP_ASCII))
    {
        print("yay");
    }
    else
    {
        print("f...");
    }
    fclose($myfile);
}

1 个答案:

答案 0 :(得分:1)

您可以使用wpcf7_before_send_mail操作在发送邮件之前处理您的功能。将以下内容添加到 functions.php 文件中:

add_action('wpcf7_before_send_mail', 'log_cf7');
function log_cf7($WPCF7_ContactForm) {
   $submission = WPCF7_Submission::get_instance();
   $data = $submission->get_posted_data();
   // do your ftp log here
}

$data是一个包含表单内容的数组(键=输入名称,值=输入值)。

要写入其他服务器,您可以使用PHP FTP