CSV 파일에서 정보를 가져 오는 PHP 파일이 있는데 특정 행과 열만 보여주는 테이블로 성공적으로 변환됩니다.필드를 감싸는 대신 PHP 파일에 표시된 CSV 파일의 따옴표
그러나 CSV 파일에는 따옴표로 묶인 쉼표와 공백이있는 항목이 있습니다. 내 PHP 파일은 쉼표로 인해이 두 항목을 두 개로 나누고 쉼표 대신 쉼표를 사용하여 쉼표와 공백이 포함 된 필드임을 나타냅니다.
AA,BB,"Surname, Initial",CC,DD,EE
"성, 그리고 초기"는 결과 테이블에서 같은 필드에 있어야하지만 대신 두 개의 필드가 생성되고있다 :
는 예를 들어, CSV 파일은 다음과 같다.
저는 PHP 코드에서이 문제를 해결하고 싶습니다. CSV 파일 자체를 수정하는 것이 아닙니다. 코드는 다음과 같습니다.
echo "<meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\"/>
<link rel=\"stylesheet\" type=\"text/css\" href=\"test.css\">";
$file = 'CSV/test.csv';
$lines = file($file);
if (file_exists($file)){
//echo "$file exists<br/>";
echo '<table>'; //create the html table
$x=2; //define the first line to display
$y=20; //define the last line to display
$line_counter=0;
foreach ($lines as $line) { //loop to fill your table with csv data
if($x<=$line_counter && $line_counter<=$y)
{
$expl = explode(",", $line); //explode each line on "," to create the rows
echo "<tr>"; //create each line of your table
$c=0;
while ($c<=47) { //loop to extract columns 2 to 47
if(($c % 2) == 1){ //odd rows
echo "<td class=\"odd\">".$expl[$c]."</td>";
}
elseif(($c == 0)){
echo "<td class=\"even\">".$expl[$c]."</td>";
}
else{
echo "<td class=\"even\">".$expl[$c]."</td>"; //even rows
}
$c++;
}
echo "</tr>";
$x++;
}
$line_counter++;
}
echo "</table>";
}
왜 파일 읽기를 처리하기 위해 내장 [fgetcsv()] (http://www.php.net/manual/en/function.fgetcsv.php) 함수를 사용하지 않는 ....이 목적을 위해 특별히 작성된 것으로 여러분을위한 인용문을 처리 할 것이고 여러분의 문제는 마술처럼 사라질 것입니다. –