Php 将联系人表单7中的数据保存到ftp服务器
我终于弄明白了。。。显然要感谢@vard 以下代码将文件发送到所需的FTP。还要再做一些测试,确保没有错误 小问题,。即使请求通过,Sumbit循环仍在继续。不过,这应该很容易分类。希望这能帮助其他人Php 将联系人表单7中的数据保存到ftp服务器,php,wordpress,web,plugins,ftp,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(); $dat
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\u-before\u-send\u-mail
操作,以便在发送邮件之前处理您的功能。将以下内容添加到functions.php文件中:
$data
是包含表单内容的数组(key=input name,value=input value)
您可以使用另一台服务器进行写操作。我已经建立了我所需要的(我想)只是没有找到合适的位置来放置它。尝试了main functions.php。坏了网站。尝试了plugin functions.php。什么也没做。。。任何建议:)?您应该使用主题中的functions.php。如果它破坏了网站,那么您应该有一个PHP错误(可能是语法错误)。能否尝试将WP-config.php文件中的
WP_DEBUG
常量设置为true
,以查看是否显示任何错误消息?啊,我看到您用新代码更新了问题。问题是,您将$data
作为第三个参数发送到ftp\u put
,但除了要放置到远程服务器的文件的路径(字符串),而不是像当前那样的数组。您需要首先在本地临时文件夹中创建文件,将其发送给远程用户,然后在传输完成后删除临时文件。如果您在这方面遇到问题,请告诉我。感谢您的时间,我将快速进行这些更改,看看是否有效。:)我更新了代码并给出了错误日志,同时也在搜索问题。我刚刚又读了你的评论。。我的临时文件能用吗?还是需要一个精确的路径?太棒了!对我来说很好,除了旋转圈。你知道吗?非常感谢。嘿@Marcio,不幸的是,项目被取消了,我一直没有解决它。:/。。我建议就此提出一个新问题,因为自2016年初以来我再也没有接触过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
}