Php 捕获Webhook条目并放置在新的.csv行上
我试图将webhook数据添加到一个创建的.CSV文件中(如果不存在),并将数据添加到同一个.CSV文件的新行中(如果存在)。我遇到的问题是,当webhook第一次捕获数据时,我可以创建新的.CSV文件并添加数据。如果webhook捕捉到一组不同的数据,则不会创建包含该信息的新行,甚至不会将其添加到.CSV文件中。我做错了什么 以下是一个有效负载示例:Php 捕获Webhook条目并放置在新的.csv行上,php,Php,我试图将webhook数据添加到一个创建的.CSV文件中(如果不存在),并将数据添加到同一个.CSV文件的新行中(如果存在)。我遇到的问题是,当webhook第一次捕获数据时,我可以创建新的.CSV文件并添加数据。如果webhook捕捉到一组不同的数据,则不会创建包含该信息的新行,甚至不会将其添加到.CSV文件中。我做错了什么 以下是一个有效负载示例: Array ( [lead_id] => lead_id1 [form_id] => form_id1
Array
(
[lead_id] => lead_id1
[form_id] => form_id1
[user_column_data] => Array
(
[0] => Array
(
[column_name] => Full Name
[string_value] => John Doe
)
[1] => Array
(
[column_name] => User Phone
[string_value] => 12345678
)
[2] => Array
(
[column_name] => User Email
[string_value] => abc@123.com
)
)
[api_version] => 1.0
[google_key] => secret
)
这是我的密码:
<?php
$data = file_get_contents("php://input");
$events = json_decode($data, true);
$users = $events['user_column_data'];
$columns = false;
$filename = "user_responses.csv";
if( ! file_exists( $filename ) ){
$columns = array(
"User Name",
"User Phone",
"User Email Address"
);
}
foreach ($users as $key => $value) {
if( $columns ){
$columns[] = strip_tags( $value['column_name'] ) . " ({$value['string_value']})";
}
}
$fp = fopen( $filename, "a+" );
if( $columns ){
fputcsv( $fp, $columns );
}
fclose( $fp );
http_response_code(200);
仅当文件不存在时才初始化$columns
数组。如果文件存在,您的$columns
未定义,并且foreach($users…
循环不会在那里添加任何条目。您应该清除If($columns)
检查
此外,您的foreach($users…
循环迭代整行,而不是字段。循环中的每个$value
都是一行,一列数组