注:最初に、本当に明らかな何かが欠けている可能性があることを知っていると言うことから始めます。私は、単純な解決策が見えないコーディングの混乱の 1 つにいます。
問題: PHP でスクリプトを作成して、.csv ファイルを解析し、電子メール アドレスを含む列を選択して、データベースに配置しました。現在、ユーザーが .csv ファイル タイプを持つファイルをアップロードしようとしていることがわかりましたが、実際にはカンマ区切りではありません。区切り文字 (タブ、改行、スペースなど) を適切に決定する関数を作成しようとしていますが、問題が発生しています。キーの数がその区切り文字に信頼性を追加するように、これらすべてのアドレスの配列を取得したいと思います。
コード:
$filename = "../some/path/test.csv";
if (($handle = fopen($fileName, "r")) !== FALSE) {
$delimiters = array(',', ' ', "\t", "\n");
$delimNum = 0;
foreach ($delimiters as $delimiter) {
$row = 0;
while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
$data = (string)$data[0];
$delimiterList[$delimNum] = explode($delimiter, $data);
$row++;
}
$delimNum++;
}
die(print_r($delimiterList));
}
結果:
Array
(
[0] => Array
(
[0] => email
peter.parker@example.com
atticus.finch@example.com
steve.rogers@example.com
phileas.fogg@example.com
s.winston@example.com
paul.revere@example.com
fscott.fitzgerald@example.com
jules.verne@example.com
martin.luther@example.com
ulysses.grant@example.com
tony.stark@example.com
)
)
私が言ったように、これはおそらくこれにアプローチするための間違った方法であることを知っているので、あなたが提供できる洞察に感謝します!