Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedoston kirjoitus tiedostoon

Rocceri [12.06.2009 14:13:16]

#

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ä?

Teuro [12.06.2009 14:26:18]

#

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);
?>

Metabolix [12.06.2009 14:26:47]

#

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).

peg [12.06.2009 14:35:16]

#

tai copylla.
alla oleva esimerkki kopioi osoitteesta addnews.php nimisen tiedoston
kopioitu.php nimiseen tiedostoon.

<?php
if (copy("http://www.juhaviitanen.com/rss/addnews.php", "./kopioitu.php")) {
echo "Kopiointi onnistui.";
}
else {
echo "Kopiointi epäonnistui.";

}
?>

Metabolix [12.06.2009 14:39:00]

#

peg kirjoitti:

tai copylla.

Alkuperäisessä viestissä tiedosto avattiin kylläkin lisäystilassa, copy taas ylikirjoittaa vanhan täysin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta