2016-03-23 6 views
0

動作しません。私はそれを修正する方法を見つけることに成功しませんでした。 空行なしでcsvデータを表示しようとしています。私はSPLライブラリがそれを許すことができると思った。しかし、私は何をしても、それはなぜ機能していないのか分かりません。 できますか?ここで は(非常に簡単)私のコードです:SplFileObject :: SKIP_EMPTYは、私は今、巨大な困難に直面しています

<?php \t \t 
 
\t // Lecture du fichier csv 
 
\t $csv = new SplFileObject('fichiers/tempo/test.csv', 'r'); 
 
\t // Flags pour ignorer les lignes vides 
 
\t $csv->setFlags(SplFileObject::READ_CSV | SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE); 
 
\t $csv->setCsvControl(';'); 
 
?> 
 

 

 
<!DOCTYPE html> 
 

 
<html> 
 

 
    <head> 
 
\t 
 
     <meta charset="utf-8" /> 
 
\t \t 
 
\t \t <link rel="stylesheet" href="style.css" /> 
 
\t \t 
 
\t \t <link rel="icon" type="image/png" href="images/favicon.png" /> 
 
\t \t 
 
     <title>Nas - Insertion de données</title> 
 
\t \t 
 
\t </head> 
 
\t 
 
\t <body> 
 

 
\t \t 
 

 
\t \t <table> 
 
\t \t \t 
 
\t \t \t <?php 
 
\t \t \t \t $tableau = array(); 
 
\t \t \t \t // On parcours les lignes du fichier csv en lecture ==> $csv 
 
\t \t \t \t foreach($csv as $line){ 
 
\t \t \t \t \t echo '<tr>'; 
 
\t \t \t \t \t foreach($line as $var){ 
 
\t \t \t \t \t \t echo '<td>-'.$var.'</td>'; \t \t \t \t \t \t 
 
\t \t \t \t \t } 
 
\t \t \t \t  echo '</tr>'; \t \t \t \t \t \t 
 
\t \t \t \t } 
 
\t \t \t ?> 
 
\t \t \t \t 
 
\t \t </table> 
 
\t 
 
\t </body> 
 
\t \t 
 
</html>

私のフラグは何もしない、と私は私が間違ってやっているかわからない..... ありがとうございました。

+0

UP ?!アップ?!アップ?!! –

+0

これは期待どおりに動作するはずです。 CSVファイルと少なくともあなたが作業しているPHPバージョンを投稿することはできますか? – JayTaph

答えて

0

はお時間をいただき、ありがとうございます。私はPHP 5.4、5.5、5.6、7.0で試しましたが、何もしませんでした。それから私は、すべてのループに次のテストを置くことを選択します。

foreach($csv as $line){ 
 
\t // Ignoring empty lines 
 
\t if(implode($line) == null)continue; 
 
    ...

少なくともそれが動作します!

私のCSVのようなものです: ワインリスト;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;; ;このワインは、シャトーまたはサプライヤーの倉庫に保管され、後で回収することができます。;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;; 製品タイプ、ヴィンテージ、ワイン、アペラシオン; Classement、数量、サイズ、価格、WA; WSは、2013; Aiguilhe(D '); 赤ワインコメントカスティヨン - 「TESボルドー;; 216 C; 750ミリリットル、11 、80?; 87-89s; 86-89; 赤ワイン; 2012; Aiguilhe(D ');カスティヨン - 「TESボルドー;; 168 C; 750ミリリットル; 12,50; 89-91; 89;?赤ワイン2011; Aiguilhe(d '); Castillon-c "Tes de Bordeaux; 395; 750mL; 12,60; 88; 89;

関連する問題