0
我正在爲用戶每天導入一個.csv文件一次。
現在我想添加錯誤處理,如果文件無法導入。
事情是,我想在收集和郵寄給我的過程中收集所有錯誤。PHP通過電子郵件錯誤處理導入.csv
如果腳本遇到錯誤,它不應該停止,而是繼續執行.csv文件的其餘部分。
我現在唯一的一件事情就是檢查文件是否存在,但我目前正在處理錯誤處理部分。
任何人都可以告訴我如何收集和郵寄錯誤,而不是顯示它們?
這是我SOFAR ...
<?php
$filepath = get_bloginfo('template_directory')."/import.csv";
setlocale(LC_ALL, 'nl_NL');
ini_set('auto_detect_line_endings',TRUE);
$file = fopen($filepath, "r") or die("Error opening file");
$i = 0;
while(($line = fgetcsv($file, 1000, ";")) !== FALSE) {
if($i == 0) {
$c = 0;
foreach($line as $col) {
$cols[$c] = $col;
$c++;
}
} else if($i > 0) {
$c = 0;
foreach($line as $col) {
$data[$i][$cols[$c]] = $col;
$c++;
}
}
$i++;
}
echo '<pre>';
print_r($data);
echo '</pre>';
foreach ($data as $gebruiker){
$username = $gebruiker['username'];
if (username_exists($username) && strtolower($gebruiker['status']) == 'published'){
// IF USER EXISTS: UPDATE
$user = get_user_by('login', $username);
update_user_meta($user->ID, 'first_name', $gebruiker['first_name']);
update_user_meta($user->ID, 'surname_prefix', $gebruiker['surname_prefix']);
update_user_meta($user->ID, 'last_name', $gebruiker['last_name']);
update_user_meta($user->ID, 'company', $gebruiker['bedrijf']);
update_user_meta($user->ID, 'function', $gebruiker['functie']);
update_user_meta($user->ID, 'region', $gebruiker['regio']);
update_user_meta($user->ID, 'market', $gebruiker['product_doelgroep']);
update_user_meta($user->ID, 'phone', $gebruiker['telefoonnummer']);
update_user_meta($user->ID, 'provincie', $gebruiker['provincie']);
$wpdb->update($wpdb->users, array( 'user_email' => $gebruiker['email'], 'user_registered' => date("Y-m-d H:i:s")), array('ID' => $user->ID));
}else{
$empty_surname_prefix = ($gebruiker['surname_prefix'] == ' ' ? '' : $gebruiker['surname_prefix'].' ');
$users = wp_insert_user(
array(// ADD NEW USER TO DATABASE
'user_login' => $gebruiker['username'],
'user_pass' => $gebruiker['password'],
'first_name' => $gebruiker['first_name'],
'last_name' => $empty_surname_prefix . $gebruiker['last_name'],
'user_email' => $gebruiker['email'],
'display_name' => $gebruiker['first_name'] . ' ' . $gebruiker['last_name'],
'nickname' => $gebruiker['first_name'] . '' . $gebruiker['last_name'],
'role' => 'subscriber'
)
);
foreach ($data as $update_user) {
// ADD ADDITIONAL DATA TO JUST CREATED USER
update_user_meta($users, 'company', $gebruiker['bedrijf']);
update_user_meta($users, 'function', $gebruiker['functie']);
update_user_meta($users, 'region', $gebruiker['regio']);
update_user_meta($users, 'market', $gebruiker['product_doelgroep']);
update_user_meta($users, 'phone', $gebruiker['telefoonnummer']);
update_user_meta($users, 'provincie', $gebruiker['provincie']);
}
}if(username_exists($username) && strtolower($gebruiker['status']) == 'archived'){// DELETE USER IF STATUS IS ARCHIVED
require_once(ABSPATH.'wp-admin/includes/user.php');
$user = get_user_by('login', $username);
echo $user->ID.'<br>';
wp_delete_user($user->ID);
}
}
?>
請記住,我目前工作的錯誤處理,所以沒有處理現在。
感謝