php 将联系表格7中的数据保存到ftp服务器

jvidinwx  于 2023-06-21  发布在  PHP
关注(0)|答案(2)|浏览(140)

我终于想通了……感谢@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);
}
xpcnnkqh

xpcnnkqh1#

您可以使用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是包含表单内容的数组(key =输入名称,value =输入值)。
要写入其他服务器,可以使用PHP FTP

093gszye

093gszye2#

谢谢,我用这个代码做了一些修改。为了阻止圆圈旋转(wpcf 7-spinner),我做了以下修复:我使用了:ftp_close($ftp_conn); fclose($myfile);

相关问题