データCSVからわずか1列、以下のようなPHP CSVインポートデータが、1つのアレイに
| BeKwX8iN3wzHDvCaxBD1 |
| 3rPB9t6EF3RGla28YbLE |
| OAYRwbrkctcVbrXaaTef |
| N8lxYdvx47FI7eYt5FUX |
| zwtRdHr3aYYnX9avcMjX |
.....
ファイルの内容を見て:https://drive.google.com/a/hiiir.com/file/d/0B4ZVHStLEPq3bklUUHkzbDN1MkE/view?usp=sharing
コード
$row = 1;
if (($handle = fopen($serial['tmp_name'], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
問題があるときに私は$num
を印刷します。それらはすべて1つの配列に入っているのでint(1)を持っています。
array(1) {
[0]=>
"BeKwX8iN3wzHDvCaxBD1
3rPB9t6EF3RGla28YbLE
OAYRwbrkctcVbrXaaTef
N8lxYdvx47FI7eYt5FUX
zwtRdHr3aYYnX9avcMjX"}
私はfgetcsv()
を$ delimiterで制御していますが、このケースは,
ですが、私の場合は適切ではありません。 20文字で区切ることは可能ですか?
を本当のCSVはなぜ思えるんファイルの各行が '| abc |'のように見える場合に 'fgetcsv'を使用して、' array_map(function($ a){return trim($ a、 '|');}、file($ se配列の中のデータ(リーチ行のための1つのエントリ)を取得するか、 'fgetcsv()'の代わりに 'fgets()'を使用します。 – JustOnUnderMillions
そして、あなたはより多くを読み、あなたが必要everthingに '$のdelimiter'を変更することができます。http://php.net/manual/en/function.fgetcsv.php – JustOnUnderMillions