【问题标题】:Saving data from Contact form 7 to ftp server将数据从 Contact form 7 保存到 ftp 服务器
【发布时间】:2015-12-01 09:27:02
【问题描述】:

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

【问题讨论】:

  • 好人!对我来说效果很好,除了旋转圈。你有想过吗?谢谢!
  • 嘿@Marcio,不幸的是该项目被取消了,我从未解决它。 :/.. id 建议就此提出一个新问题,因为自 2016 年初以来我还没有再接触过 php :)

标签: php wordpress web plugins ftp


【解决方案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

【讨论】:

  • 我已经建立了我需要的东西,(我认为)只是没有找到合适的地方放置它。尝试主要functions.php。破坏网站。尝试插件functions.php。什么也没做...有什么建议:)?
  • 那么您应该使用主题中的 functions.php。如果它破坏了网站,那么你应该有一个 PHP 错误(可能是语法错误)。您能否尝试将 wp-config.php 文件中的 WP_DEBUG 常量设置为 true 以查看是否显示任何错误消息?
  • 啊,我看到你用新代码更新了你的问题。问题是您将$data 作为第三个参数发送到ftp_put,尽管ftp_put 除了您要放置到远程服务器的文件的路径(字符串)之外,而不是您当前所做的数组。您需要先在本地临时文件夹中创建文件,然后将其发送到远程,然后在传输完成后删除临时文件。如果您遇到此问题,请告诉我。
  • 感谢您的宝贵时间,我们会尽快进行这些更改,看看是否有效。 :)
  • 我更新了代码并给出了错误日志,同时也在搜索问题。我刚刚再次阅读了您的评论..我的临时文件可以工作还是需要确切的路径?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 2021-11-16
相关资源
最近更新 更多