在我身边玩耍终于弄明白了......显然感谢@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);
}
答案 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。