我终于想通了……感谢@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);
}
2条答案
按热度按时间xpcnnkqh1#
您可以使用
wpcf7_before_send_mail
操作在发送邮件之前处理您的函数。将以下内容添加到 functions.php 文件中:$data
是包含表单内容的数组(key =输入名称,value =输入值)。要写入其他服务器,可以使用PHP FTP。
093gszye2#
谢谢,我用这个代码做了一些修改。为了阻止圆圈旋转(wpcf 7-spinner),我做了以下修复:我使用了:ftp_close($ftp_conn); fclose($myfile);