Как объединить две строки, используя FGETCSV и FPUTCSV?

StackOverflow https://stackoverflow.com/questions/4687911

  •  11-10-2019
  •  | 
  •  

Вопрос

  1. Я создаю скрипт, который будет читать файл CSV и отображать его в Textarea с помощью FGETCSV.

      $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, контент будет отображаться внутри TextAREA без двойного цитата и запятой. Могу ли я отформатировать его так, чтобы он также отображал дуэльские цитаты и запятую?

  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» на две строки и ставит запятую после конца каждой линии.

  7. Теперь я хочу сохранить форматирование № 2. Как я это кодирую?

Вы можете направить меня в правильном направлении? Спасибо!

Это было полезно?

Решение

Похоже, вы хотите отобразить фактический необработанный текст CSV, а не анализированные данные в CSV. Вместо использования fgetcsv(), просто используйте fgets() И вы получите текстовую строку без какого -либо анализа, сохраняя цитаты и запятые.

Что касается fputcsv, то он будет написать, что вы передаете в него, поэтому убедитесь, что все, что возвращается из формы, очищено (например, дополнительные разрывы линии, разделенные).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top