Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP fgets - v čem se liší první řádek

Načítám CSV, které později zpracovávám.

  setlocale(LC_ALL, "cs_CZ.UTF-8") ;

   function cleanStr($string){
      
      $string = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $string);
      $string = trim(preg_replace('/\s+/', ' ', $string));
      $string = preg_replace('/[^A-Za-z0-9\-.=+,:()!+\/ ]/', '', $string);

    return $string;

  }

  $handle = fopen($uploadfile, "r");
  if ($handle) {
      while (($line = fgets($handle)) !== false) {

          $line = explode(";", $line);   // naparsuju CSV

  
  $line[1] = cleanStr($line[1]);        // TEXT zprávy
  $line[1] = iconv('CP1250', 'utf-8', $line[1]);   // KONVERTUJU text zprávy


    $wrapped2 = wordwrap(  $line[1],112,"\r\n",TRUE);  // Rozdělení zprávy po případně 112 znacích

  if ($line[0] != '' )  {  // Odesli single SMS

             $lines = explode("\r\n", $wrapped2);
             $counter = 1;
             $counterCelkem = 0;

             $counterCelkem = count($lines);

             foreach ($lines as $line2)
             {

              Jen uložení do DB proměnné $line2 
             

Absolutně nechápu, proč v kódu s železnou pravidelností se neodesílá první řádek.
Když se podívám do databáze, tak uložený je tam řetězec absolutně bez jakéhokoliv problému.

Ale asi bude v řetězci něco navíc zjevně, když způsobuje vždy chybu při posílání.

Když prohodím řádky, tak se první řádek opět neodešle.
Prosím o pomoc, již jsem na tom strávil několik hodin. 3-[:.(

Předmět Autor Datum
Nenašly se žádné odpovědi.

Zpět do poradny Odpovědět na původní otázku Nahoru