Hei.
Onko mitenkään mahdollista suorittaa php:n funktio javascript koodissa? Eli tarvisin funktion joka palauttaa tekstin tiedostosta ja koska siihen ei voi käyttää javascriptiä, täytyy käyttää php:tä. Ja javascriptiä ei tässä tapauksessa voi vaihtaa php:ksi. Koitin näin, mutta ei tunnista tuota getContent- funktiota:
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> // ... paljon javascript koodia... var contentText; function openPopup(item) { switch(item) { case 1: contentText = getContent("content1.txt"); break; } } </script> <?php function getContent($contentFile) { $readFile=file($contentFile) $text=""; for ($i = 0; $i < count($readFile); $i++) { $text+=$readFile[$i]; } return $text; } ?>
Tai, miten tuo on muuten toteutettavissa?
Ei ole, kun se PHP-funktio suoritetaan palvelimella ennen sivun lähettämistä selaimelle. Jos tiedät tiedostonimen jo siinä vaiheessa, voit kyllä tulostaa sen JS:lle. Jotta data säilyisi muuttumattomana (esim. rivinvaihdot ja lainausmerkit), käytä JSON-formaattia tai URL-enkoodausta.
<?php $data = file_get_contents("tiedosto.txt"); ?> <script ...> var tiedosto = <?php echo json_encode($data); ?>; // var tiedosto = "Tiedostosta luettu teksti"; var tiedosto = unescape("<?php echo rawurlencode($data); ?>"); // var tiedosto = unescape("Tiedostosta%20luettu%20teksti"); </script>
Ei ole mahdollista sinänsä, koska php suoritetaan palvelinpuolella. Voit kuitenkin tutustua semmoiseen hirviöön kuin ajax, jolla tämä onnistuu. Tähän löytyy putkasta hyvä opas.
Edit: Metabolix oli nopeampi...
XMLHttpRequest-jutulla voit lukea sisällön tiedostosta, mutta sitä en tiedä, kannattaako näin tehdä.
Ok kiitos vastauksista!
Periaatteessa tuon sitten pystyis lukemaan "valmiiksi", koska mulla noita eri sisältö vaihtoehtoja ei ole kovin montaa.
Mutta onko se kauhean raskasta ja täysin väärä tapa, jos säilön kaikki n. 10 eri sisältövaihtoehtoa muistiin? Yksi sisältö on yleensä noin 10 riviä tekstiä. Varmaan kannattaisi olla taulu $data[] ja käydä php koodissa nuo kaikki tiedostot läpi siihen?
Voit rakentaa JavaScript-koodin PHP:n avulla.
Juhko kirjoitti:
Voit rakentaa JavaScript-koodin PHP:n avulla.
Metabolix kyllä jo käytännössä ehdotti tätä...
Jes, kiitos, nyt rupes mullakin meneen jakeluun
Aihe on jo aika vanha, joten et voi enää vastata siihen.