Alanlar PHP Yeni satır karakteri Çıkarma

3 Cevap php

i bir excel dosyası yüklemek ve MySQL veritabanı içeriğini depolamak için çalışıyorum.

i am having a problem in saving the contents.. like

Benim csv dosyası formu olduğu

        "1","aruna","IEEE 
         paper"
        "2","nisha","JOurnal magazine"

aslında ben 2 kayıtları yaşıyorum ve ben kod kullanıyorum

<?php
  $string = file_get_contents( $_FILES["file"]["tmp_name"] );
  //echo $string;

foreach ( explode( "\n", $string ) as $userString )

    {
                 echo $userString;

            }

?> since in the Csv record there is a new line inserted in between IEEE and paper it is dispaying me as 3 records..

Kayıtlar 1 ve 2 arasında sadece yeni hat olarak kabul edilir, böylece bilge bu yeni hat kodunu kaldırmak ve kodunu değiştirmek için nasıl ...

3 Cevap

fgetcsv bir ayrıştırma CSV dosyalarını yüklemek için kullanın.

Belki excel dosyaları açmak ve değiştirmek için bir kütüphane kullanıyor olmalıdır. XLS Reader ile deneyiniz.

Fgetcsv komutu güçlü ve yararlı, muhtemelen bunu kullanmalısınız. Ama orijinal soruya cevap istiyorum ...

  1. @ EOL gibi, bazı garip belirteci ile "iyi" satırsonlarını yerine @
  2. @ gibi bir simge ile "kötü" satırsonu, NL yerine @
  3. bir satır ile ilk belirteci yerine
  4. veri ayrıştırmak.

gibi pek ...

<?php   
    $txt = <<<_TXT
"1","aruna","IEEE 
paper" "2","nisha","JOurnal magazine"
"2", "aruna", "IEEE kağıt", "2", "nisha", "Journal dergisi"
"3","aruna","IEEE paper" "2","nisha","JOurnal
magazine"
"4", "aruna", "IEEE kağıt", "2", "nisha", "Journal dergisi"
_TXT;
    $txt = str_replace("\"\n", "@EOL@", $txt);
    $txt = str_replace("\n", "@NL@", $txt);
    $txt = str_replace("@EOL@", "\n", $txt);
    echo $txt;
?>

Çıkış ...

"1", "aruna", "IEEE @ NL @ kağıt", "2", "nisha", "Journal dergisi

"2", "aruna", "IEEE kağıt", "2", "nisha", "Journal dergisi

"3", "aruna", "IEEE kağıt", "2", "nisha", "Journal NL @ dergisi @

"4", "aruna", "IEEE kağıt", "2", "nisha", "Journal dergisi"