Moi
Tarvitsisi kirjoittaa toisen tiedoston sisältö toiseen tiedostoon. Miten se onnistuu? Olen koittanut näin
<?php $handle = fopen("$tiedosto.php", "a+"); $kirjoita = file("keskustelu.php"); fwrite($handle, $kirjoita); fclose($handle); ?>
Mutta tuo ei toimi. Tulee Array. Miten pitäisi tehdä?
Lukaisepa manuaalista, miten funktio toimii. Sehän siis palauttaa tiedoston rivit taulukkona. Sitten seuraava asia.
Mitä tuon scriptin on tarkoitus tehdä? Avaat a+ moodissa tiedoston, jonka nimeä en uskalla edes arvata, kun se näyttää olevan muuttuja. Seuraavaksi teet $kirjoita nimisen taulukkomuuttujan tiedostosta keskustelu.php lopuksi yrität kirjoittaa epämääräiseen tiedostoon taulukon, joka ei siis ole mahdollista, vaan fwrite(handle, string) haluaa toisena parametrinä merkkijonon, mutta annat siis arrayn.
Mikäli haluat oikeasti kirjoittaa .php tiedostoon jotakin tulee sinun lukea tiedoston sisältö vaikkapa file_get_contents(string) funktiolla merkkijonoksi, jonka kirjoitat tiedostoon.
<?php /* Luettava tiedosto */ $luettevaTiedosto = "tiedosto.txt"; /* Kirjoitettava tiedosto */ $kirjoitettavaTiedosto = "tulos.txt"; /* Luetaan lähdetiedosto */ $sisalto = file_get_contents($luettavaTiedosto); /* Avataan tulostiedosto loppuun kirjoitusmoodissa */ $tulos = fopen($kirjoitettavaTiedosto, "a"); /* Kirjoitetaan */ fwrite($tulos, $sisalto); /* Suljetaan */ fclose($tulos); /* Katsotaan kuinka kävi */ echo file_get_contents($kirjoitettavaTiedosto); ?>
Funktio file
lukee rivit taulukkoon. Yhtenäiseksi tekstiksi saat luettua ne file_get_contents
-funktiolla, tai voit yhdistää taulukon tekstiksti implode
-funktiolla. Näistä voit lukea lisää php.netistä (https://www.php.net/funktion_nimi).
tai copylla.
alla oleva esimerkki kopioi osoitteesta addnews.php nimisen tiedoston
kopioitu.php nimiseen tiedostoon.
peg kirjoitti:
tai copylla.
Alkuperäisessä viestissä tiedosto avattiin kylläkin lisäystilassa, copy
taas ylikirjoittaa vanhan täysin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.