Мне необходимо после загрузки файла на сервер (csv, txt) найти в строке поле Email, провести работу с данным полем и вернуть результат обратно в стоку, сохранив ее целостность.
Т.е. если в строке есть отличные от Email поля их нужно вернуть в строку и сохранить.
Пример файла:
Name, Email, Phone
Вова, test@test.ru,
Вася, test2@test.ru, 89990001234
Игорь, test3@test.ru,,предприниматель, Москва
Вот что я делаю (построчно):
$fp = @fopen("uploads/file.csv", "r");
if ($fp) {
while (($buffer = fgets($fp, 4096)) !== false) {
echo $buffer;
// выполнить действие над email и сохранить результат
// КАК ЗДЕСЬ ПОЛУЧИТЬ EMAIL ИЗ СТРОКИ И ДАЛЕЕ СОХРАНИТЬ СТРОКУ ЦЕЛИКОМ
//$list = array (
// array('')
//);
//$fp = fopen('file_ed.csv', 'a');
//foreach ($list as $fields) {
// fputcsv($fp, $fields);
//}
//fclose($fp);
}
if (!feof($fp)) {
echo "Ошибка: fgets() неожиданно потерпел неудачу\n";
}
fclose($fp);
}
Смысл в том, чтобы обработать любой файл с любым количеством полей, получить поле Email и вернуть в файл сохранив его изначальную структуру. Чтобы скрипт мог работать даже с самыми замысловатыми файлами и не отдавал ошибок.