玩弄我终于弄清楚了......显然感谢@vard。
以下代码将文件发送到所需的FTP。将运行更多测试并确保不再出现错误,
小问题,。即使请求已通过,Subit 圆圈也会继续转动。不过应该很容易解决。希望这对那里的人有帮助。
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);
}
您可以使用
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。