PHP CSV导入,但没有前两行和一部分信息

PHP CSV导入,但没有前两行和一部分信息,php,csv,Php,Csv,你好 我想做一个简单的电话清单。我从active directory powershell导出的csv列表中获得的csv数据 csv是逗号分隔的,看起来是这样的: #TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser name,"officephone" firstnameA, lastnameA,"+49 12345 555 123" firstnameB, lastnameB,"+49 12345 555 124" firstn

你好

我想做一个简单的电话清单。我从active directory powershell导出的csv列表中获得的csv数据

csv是逗号分隔的,看起来是这样的:

#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser
name,"officephone"
firstnameA, lastnameA,"+49 12345 555 123"
firstnameB, lastnameB,"+49 12345 555 124"
firstnameC, lastnameC,"+49 12345 555 125"
firstnameD, lastnameD,"+49 12345 555 126"
所以,我想这样显示它(第一行是firstnameA,第二行是lastnameA,第二行是三位数:

firstnameA, lastnameA              123
firstnameB, lastnameB              124
firstnameC, lastnameC              125
firstnameD, lastnameD              126
到目前为止,我还没有那个密码:

<?php
echo "<html><body><table>\n\n";
$phonebook = fopen("database/itlocal.csv", "r");


while (($line = fgetcsv($f)) !== false) {

    echo "<tr class='departmenttext'>";
    foreach ($line as $cell) {
            echo "<td>" . htmlspecialchars($cell) . "</td>";
    }
    echo "</tr>\n";
}
fclose($f);
echo "\n</table></body></html>";
?>
试试这个:

$lineCount = 0;
while (($line = fgetcsv($f)) !== false) {
    if ($lineCount > 1) {
        echo "<tr class='departmenttext'>";
        foreach ($line as $key => $cell) {
            if ($key == 1) {
               $cell = substr($cell, -3);
               echo '';
            }
            echo "<td>" . htmlspecialchars($cell) . "</td>";

            if ($key == 1) {
                echo "</tr>\n";
            }
        }
        echo "</tr>\n";
    }
    $lineCount = $lineCount + 1;
}
$lineCount=0;
而(($line=fgetcsv($f))!==false){
如果($lineCount>1){
回声“;
foreach($key=>$cell的行){
如果($key==1){
$cell=substr($cell,-3);
回声';
}
echo“.htmlspecialchars($cell)”;
如果($key==1){
回音“\n”;
}
}
回音“\n”;
}
$lineCount=$lineCount+1;
}
试试这个:

$lineCount = 0;
while (($line = fgetcsv($f)) !== false) {
    if ($lineCount > 1) {
        echo "<tr class='departmenttext'>";
        foreach ($line as $key => $cell) {
            if ($key == 1) {
               $cell = substr($cell, -3);
               echo '';
            }
            echo "<td>" . htmlspecialchars($cell) . "</td>";

            if ($key == 1) {
                echo "</tr>\n";
            }
        }
        echo "</tr>\n";
    }
    $lineCount = $lineCount + 1;
}
$lineCount=0;
而(($line=fgetcsv($f))!==false){
如果($lineCount>1){
回声“;
foreach($key=>$cell的行){
如果($key==1){
$cell=substr($cell,-3);
回声';
}
echo“.htmlspecialchars($cell)”;
如果($key==1){
回音“\n”;
}
}
回音“\n”;
}
$lineCount=$lineCount+1;
}

非常感谢。因为它有两行代码。所以我的第一行问题完全解决了。真的,非常感谢…..但是你知道我的数字问题的解决方案吗?要将它切掉,直到最后三个数字“?使用它将切掉三个数字:$cell=subsr($cell,-3);如果不尝试将jey的索引从2改为1例如,如果这个答案解决了你的问题,接受它来帮助其他人解决你的问题:D@SaschaDeathwormHi,是的,我已经检查了你的答案是否正确。但是说实话,这个单元格剪切对我来说并不完全有效。所以我必须将第一个键改为1。然后它会剪切数字到三位数的版本。但是,它将不再显示在同一行中。电话号码被推到下一行,并失去了它的样式(它变黑变小)。因此,它看起来像是被排除在输入相同的“故障”之外。第一行是css中正确样式的名称,第二行是没有正确样式且不在同一行中的三位数。非常感谢。这两行很有效。因此,我的第一行问题完全解决了。真的,非常感谢……但是你知道我的数字问题的解决方案吗?将其删除,直到最后三行它的`?使用它将剪切三位数:$cell=substr($cell,-3);如果不尝试将jey的索引从2改为1例如,如果这个答案解决了你的问题,接受它来帮助其他人解决你的问题:D@SaschaDeathwormHi,是的,我已经检查了你的答案是否正确。但是说实话,这个单元格剪切对我来说并不完全有效。所以我必须将第一个键改为1。然后它会剪切数字到三位数的版本。但是,它将不再显示在同一行中。电话号码被推到下一行,并失去了它的样式(它变黑变小)。因此,它看起来像是被排除在输入相同的“故障”之外.第一行是css中具有正确样式的名称,第二行是没有正确样式且不在同一行中的三位数