根据条件创建 CSV 文件并添加数据 php
Create CSV files and add data depending on condition php
我有一组结果,我想为其创建 csv 文件。但如果结果有效,我想将电子邮件添加到有效的 csv 文件中,如果无效,则添加到无效的 csv 文件中。但我无法做到这一点。它将所有电子邮件添加到清理 csv 文件,无效的 csv 为空。任何建议
结果如下所示:
Array
(
[0] => Array
(
[email] => tamas.szabo@millionverifier.com
[result] => valid
)
[1] => Array
(
[email] => support@millionverifier.com
[result] => valid
)
)
这是我的条件
// creating dirty and clean file
$clean_emails = fopen(UPLOAD_DIRECTORY . '/clean/' . $file_name_new . '.' . $extension, 'w');
$dirty_emails = fopen(UPLOAD_DIRECTORY . '/dirty/' . $file_name_new . '.' . $extension, 'w');
// adding headers to them
fputcsv($clean_emails, $headers);
fputcsv($dirty_emails, $headers);
if ($results[$i]['result'] === 'valid') {
// adding clean emails to csv
foreach ($results as $row) {
fputcsv($clean_emails, $row);
}
fclose($clean_emails);
} elseif ($results[$i]['result'] === 'invalid') {
// adding dirty emails to csv
foreach ($results as $row) {
fputcsv($dirty_emails, $row);
}
fclose($dirty_emails);
} else {
// if there are not any dirty or clean emails add them unknown to csv
$unknown_emails = fopen(UPLOAD_DIRECTORY . '/unknown/' . $file_name_new . '.' . $extension, 'w');
fputcsv($unknown_emails, $row);
fclose($unknown_emails);
}
可能是你想要逐行分隔?
// creating dirty and clean file
$clean_emails = fopen(UPLOAD_DIRECTORY . '/clean/' . $file_name_new . '.' . $extension, 'w');
$dirty_emails = fopen(UPLOAD_DIRECTORY . '/dirty/' . $file_name_new . '.' . $extension, 'w');
$unknown_emails = null; // No file yet
// adding headers to them
fputcsv($clean_emails, $headers);
fputcsv($dirty_emails, $headers);
foreach ($results as $row) { // Scan each row
if ($row['result'] === 'valid') {
fputcsv($clean_emails, $row);
} elseif ($row['result'] === 'invalid') {
fputcsv($dirty_emails, $row);
} else { // found something else
if (!isset($unknown_emails)) { // Open file if it was not
$unknown_emails = fopen(UPLOAD_DIRECTORY . '/unknown/' . $file_name_new . '.' . $extension, 'w');
fputcsv($unknown_emails, $headers); // Add headers ?
}
fputcsv($unknown_emails, $row);
}
} // end loop
fclose($clean_emails);
fclose($dirty_emails);
if (isset($unknown_emails)) {
fclose($unknown_emails); // Close 'unknown' if it was opened
}
我有一组结果,我想为其创建 csv 文件。但如果结果有效,我想将电子邮件添加到有效的 csv 文件中,如果无效,则添加到无效的 csv 文件中。但我无法做到这一点。它将所有电子邮件添加到清理 csv 文件,无效的 csv 为空。任何建议
结果如下所示:
Array
(
[0] => Array
(
[email] => tamas.szabo@millionverifier.com
[result] => valid
)
[1] => Array
(
[email] => support@millionverifier.com
[result] => valid
)
)
这是我的条件
// creating dirty and clean file
$clean_emails = fopen(UPLOAD_DIRECTORY . '/clean/' . $file_name_new . '.' . $extension, 'w');
$dirty_emails = fopen(UPLOAD_DIRECTORY . '/dirty/' . $file_name_new . '.' . $extension, 'w');
// adding headers to them
fputcsv($clean_emails, $headers);
fputcsv($dirty_emails, $headers);
if ($results[$i]['result'] === 'valid') {
// adding clean emails to csv
foreach ($results as $row) {
fputcsv($clean_emails, $row);
}
fclose($clean_emails);
} elseif ($results[$i]['result'] === 'invalid') {
// adding dirty emails to csv
foreach ($results as $row) {
fputcsv($dirty_emails, $row);
}
fclose($dirty_emails);
} else {
// if there are not any dirty or clean emails add them unknown to csv
$unknown_emails = fopen(UPLOAD_DIRECTORY . '/unknown/' . $file_name_new . '.' . $extension, 'w');
fputcsv($unknown_emails, $row);
fclose($unknown_emails);
}
可能是你想要逐行分隔?
// creating dirty and clean file
$clean_emails = fopen(UPLOAD_DIRECTORY . '/clean/' . $file_name_new . '.' . $extension, 'w');
$dirty_emails = fopen(UPLOAD_DIRECTORY . '/dirty/' . $file_name_new . '.' . $extension, 'w');
$unknown_emails = null; // No file yet
// adding headers to them
fputcsv($clean_emails, $headers);
fputcsv($dirty_emails, $headers);
foreach ($results as $row) { // Scan each row
if ($row['result'] === 'valid') {
fputcsv($clean_emails, $row);
} elseif ($row['result'] === 'invalid') {
fputcsv($dirty_emails, $row);
} else { // found something else
if (!isset($unknown_emails)) { // Open file if it was not
$unknown_emails = fopen(UPLOAD_DIRECTORY . '/unknown/' . $file_name_new . '.' . $extension, 'w');
fputcsv($unknown_emails, $headers); // Add headers ?
}
fputcsv($unknown_emails, $row);
}
} // end loop
fclose($clean_emails);
fclose($dirty_emails);
if (isset($unknown_emails)) {
fclose($unknown_emails); // Close 'unknown' if it was opened
}