데이터 CSV에서 단 하나의 열 아래 같은PHP CSV 가져 오기 데이터하지만 하나 개의 배열에
| 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
을 인쇄 할 때, 그들은 모두 하나의 배열에 있기 때문에 int (1)을가집니다.
array(1) {
[0]=>
"BeKwX8iN3wzHDvCaxBD1
3rPB9t6EF3RGla28YbLE
OAYRwbrkctcVbrXaaTef
N8lxYdvx47FI7eYt5FUX
zwtRdHr3aYYnX9avcMjX"}
내가 $ 012imiter에 의해 fgetcsv()
제어를 알고 있으며이 경우는 ,
이지만이 경우에는 적합하지 않습니다. 20 자까지 구분할 수 있습니까?
이 왜 실제 CSV를 보인다 파일의 각 줄이'| abc | '처럼 보이면'array_map (function ($ a) {return trim ($ a,'| ');}, file ($ se 배열에서 데이터를 얻거나 (도달 행을위한 하나의 엔트리),'fgetcsv()'대신'fgets()'를 사용하십시오. – JustOnUnderMillions
그리고'$ delimiter'를 여러분이 필요로하는 것만 바꾸면됩니다. http://php.net/manual/en/function.fgetcsv.php – JustOnUnderMillions