質問

  1. CSVファイルを読み取り、FGETCSVを使用してTextareaに表示するスクリプトを作成しています。

      $handle = @fopen($filePath, "r");
    
      if ($handle)
      {
         while (($buffer = fgetcsv($handle, 1000,",")) !== false) 
         {
              foreach($buffer as $buff){
                 echo $buff."\n";
              }
    
         }
      }      
    
  2. CSVの形式はです

    "line1-content1"、 "line1-content2"
    "line2-content1"、 "line2-content2"

  3. FGETCSVを使用して、コンテンツはダブルクォートとコンマなしでテキストアレア内に表示されます。 デュオブルの引用とコンマも表示するようにフォーマットできますか?

  4. その後、FPUTCSVを使用して保存すると

    $file_to_load = $_GET['filepath'];
    
    $filePath = $dir.$file_to_load;
    
    $trans = trim($_POST['txtarea']);
    $keyarr = split("\n",$trans);
    
    $fp = fopen($filePath, 'w');
    foreach (array ($keyarr) as $fields) {
      fputcsv($fp, $fields);
    }
    
    fclose($fp);
    
  5. CSVファイルを見ると、CSVを保存しましたが、このように表示します

    "line1-content1
    "、" line1-content2
    "、" line2-content1
    "、" line2-content2 "

  6. 「line1-content1」と「line1-content2」を2行に分離し、すべての行の終了後にコンマを配置します。

  7. 今、私は#2のフォーマットを維持したいと思います。 どのようにコーディングしますか?

私を正しい方向に導いてもらえますか?ありがとう!

役に立ちましたか?

解決

CSV内の解析データではなく、実際の生のCSVテキストを表示したいように聞こえます。使用する代わりに fgetcsv(), 、ただ使用してください fgets() そして、あなたは何も解析せずにテキストラインを取得し、引用符とコンマを保存します。

fputcsvについては、あなたがそれに渡すものを書き留めるので、フォームから戻ってくるものは何でもクリーンアップされていることを確認してください(たとえば、余分なラインブレークが剥がれました)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top