Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将联系人表单7中的数据保存到ftp服务器_Php_Wordpress_Web_Plugins_Ftp - Fatal编程技术网

Php 将联系人表单7中的数据保存到ftp服务器

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

我终于弄明白了。。。显然要感谢@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);
}

您可以使用
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
}