Извлечение имени и адреса электронной почты в каждой новой строке текстового файла в базу данных для новостной рассылки - PullRequest
0 голосов
/ 03 февраля 2020

Я работаю над приложением для рассылки новостей, где мы будем загружать имена и электронные письма каждого участника в базу данных. Файл блокнота выглядит следующим образом:

Jimmy Alewa
jimmyalewa@yahoo.com

Sam
sam@oeins.com

Dr. Peter Mark
drmark98@yaoo.bh

Я получаю противоречивые результаты, пробуя разные методы. Моя цель состоит в том, чтобы получить 2 строки каждая, а затем разбить их на одну строку и сохранить электронное письмо с именем участника в базе данных MySql.

Я пробовал это, не повезло

  $text_file = $_FILES['userfile']['tmp_name'];

   $fh = fopen($text_file, 'r');

  while(!feof($fh))
{
    echo $data[] = fgets($fh); 
    echo "<br>";
    //Do whatever you want with the data in here
    //This feeds the file into an array line by line
}
fclose($fh);

Сначала я не мог получить 2 строки. Если я получу по 2 строки, я буду разбивать на 1 строку и сохранять как массив [0] для имени и массив [1] для электронной почты в каждом l oop.

Пожалуйста, помогите мне, если вы могли бы , С уважением

* ОБНОВЛЕНИЕ: С помощью Abra..Я получил ответ, посмотрите мои коды ниже и проверьте код Abra для получения дополнительных разъяснений:

<code>$textfile = file_get_contents($_FILES["userfile"]["tmp_name"]);
$lines  = file($_FILES["userfile"]["tmp_name"], FILE_IGNORE_NEW_LINES | 
FILE_SKIP_EMPTY_LINES);
$result = array_chunk($lines, 2); 
print("<pre>".print_r($result,true)."
"); foreach ($ result as $ list) {echo $ list [0]. " "; echo $ list [1]; echo"
";}

1 Ответ

1 голос
/ 03 февраля 2020

Если файл согласован, просто прочитайте непустые строки и разбейте его на две строки:

$lines  = file($text_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$result = array_chunk($lines, 2);

Должно привести к чему-то вроде:

Array
(
    [0] => Array
        (
            [0] => Jimmy Alewa
            [1] => jimmyalewa@yahoo.com
        )
    [1] => Array
        (
            [0] => Sam
            [1] => sam@oeins.com
        )
    [2] => Array
        (
            [0] => Dr. Peter Mark
            [1] => drmark98@yaoo.bh
        )
)
...