fwrite:n rivinvaihdot?

Minulla on tällainen ongelma, että fwrite haluaa väkisin tehdä rivinvaihdot tuplana.

Minulla on siis string muuttuja, jossa on muutama rivinvaihto, ja jota yritän kirjoittaa tiedostoon yhdellä fwrite-komennolla.

Olen yrittänyt sekä rivinvaihdolla PHP-koodissa että \n:llä, ja molemmat tekevät ylimääräisen tyhjän rivin tiedoston rivien väliin. Koodin pätkä, jota yritän kirjoittaa, ei suostu noiden tyhjien rivien kanssa toimimaan.

Teenkö jotain väärin, vai onko tuo vain ominaisuus, ja joudun kirjoittamaan tuon muuttujan rivi kerrallaan?
5601
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Sul on koodis joku virhe. PHP ei tee rivinvaihtoja ellet niitä itse koodissa määrää.

Ettei vaan olis tällee, näissähän tulee liikaa rivinvaihtoja.

$string = "
x \n
x \n
x \n";

fwrite($handle, $string);

tai

$string = "x \n x \n x \n";
fwrite($handle, $string."\n");

Tai

$string = "\n x \n x \n x \n";
fwrite($handle, $string");



Tietääkseni ainoa functio millä saa aikaan tuplarivinvaihdon on nl2br. Tai tavallaan sekään ei tee tuplia vaan muuttaa enterin painalluksen säilyttäen enterin painalluksen.

Äänestä
  • Kokeilin näin:
    $string = "eka rivi
    toka rivi
    kolmas rivi";

    ja näin:
    $string = "eka rivi\ntoka rivi\nkolmas rivi";

    ja sitten siis:
    fwrite($filename, $string);

    Ja molemmilla lailla tulee ylimääräiset tyhjät rivit joka väliin, enkä käsitä miksi.

    Äänestä

  • anttu-t kirjoitti:

    Kokeilin näin:
    $string = "eka rivi
    toka rivi
    kolmas rivi";

    ja näin:
    $string = "eka rivi\ntoka rivi\nkolmas rivi";

    ja sitten siis:
    fwrite($filename, $string);

    Ja molemmilla lailla tulee ylimääräiset tyhjät rivit joka väliin, enkä käsitä miksi.

    Itselläni tuo toimii ihan niinkuin pitää.

    Oliskohan käyttämässäsi editorissa jotain vikaa?
    Vai milläs katsot miten tallentuu.

    Äänestä

  • Joku:: kirjoitti:

    Itselläni tuo toimii ihan niinkuin pitää.

    Oliskohan käyttämässäsi editorissa jotain vikaa?
    Vai milläs katsot miten tallentuu.

    Sekä Total Commanderin lister että PSPad Editor näyttivät samalla lailla, ja lisäksi skripti ei toiminut riviväleillä, mutta toimi, kun editoin välit pois (PSPad:lla).

    Mut ennen aamun koittoa vielä selviää jollakin konstilla. Kerron sitten.

    Äänestä

  • Joku:: kirjoitti:

    Itselläni tuo toimii ihan niinkuin pitää.

    Oliskohan käyttämässäsi editorissa jotain vikaa?
    Vai milläs katsot miten tallentuu.

    Johan on kumma juttu. Kannettava tekee rivien väliin tyhjät ja pöytäkone ei, ja sama ilmiö kahdella eri ohjelmalla. Molemmat toimii OK toisessa ja oudosti toisessa koneessa.

    Eli koneesta oli kiinni, ja toimimattomuus oli ihan muuta kämmäystä.

    Kiitos avusta, nyt on skriptin tekevä skripti ihan "tuotantokäytössä". :)
    (Tekee palvelimelle päivittyvän proxykonffausskriptin selainta varten... )

    Äänestä

Kommentoi aloitusta


anttu-t kirjoitti:

Minulla on tällainen ongelma, että fwrite haluaa väkisin tehdä rivinvaihdot tuplana.

Minulla on siis string muuttuja, jossa on muutama rivinvaihto, ja jota yritän kirjoittaa tiedostoon yhdellä fwrite-komennolla.

Olen yrittänyt sekä rivinvaihdolla PHP-koodissa että \n:llä, ja molemmat tekevät ylimääräisen tyhjän rivin tiedoston rivien väliin. Koodin pätkä, jota yritän kirjoittaa, ei suostu noiden tyhjien rivien kanssa toimimaan.

Teenkö jotain väärin, vai onko tuo vain ominaisuus, ja joudun kirjoittamaan tuon muuttujan rivi kerrallaan?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu