Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP tiedoston lukeminen muuttujaan

Tumettaja [06.09.2008 11:16:39]

#

Palvelimellani on .php tiedosto joka sisältää ihan normaalia php-koodia.
Nyt olisi kuitenkin tarpeen hakea tiedoston tulostama sisältö muuttujaan. Olen kokeillut file_get_contents funkkaria, mutta se lukee tiedoston php koodin kera, eikä vain tulosteen.

Onko tähän olemassa edes ratkaisua?

TsaTsaTsaa [06.09.2008 11:21:32]

#

<?php
$tuloste = exec("php toinenskripti.php");
?>

Toimisko näin?

Antti Laaksonen [06.09.2008 11:22:22]

#

Tässä on yksi ratkaisu, joka käyttää tulostuksen puskurointia.

*** moikka.php
<?php
echo "Moikka!";
?>
*** hakija.php
<?php
ob_start();
include("moikka.php");
$tulostus = ob_get_contents();
ob_end_clean();
// nyt $tulostus sisältää tiedoston moikka.php tulostuksen
?>

tsuriga [06.09.2008 11:22:25]

#

Kokeilitko siis file_get_contents( 'http://mydomain/myfile' );, eikä tämä toiminut?

-exec pitäisi varmaankin olla shell_exec, eikä palvelin välttämäti tue sitä.
-ob:ssa tullee ongelmia, jos myös kohdeskriptissä käytetään sitä. ob_get_clean = ob_get_contents + ob_end_clean.

Tumettaja [06.09.2008 14:08:28]

#

Tarkennan nyt hieman. Olen tekemässä itselleni pientä skriptiä joka hakee hakusanalla tiedoston lähdekoodista osumia. Aina kun osumia löytyy, skripti tulostaa pienen pätkän tekstiä, josta osuma löytyi. (Eli samalla tavalla kuin Google.) Nyt ongelmaksi tulee kuitenkin lähdekoodissa oleevat html, js, php , css jne. koodit. Jos käyttäjä hakee sanalla 'auto', ja lähdekoodissa on kohta:

alert("volvo on auto!");

tulostuu tietenkin tuo javascripti pätkä ja hiukan koodia ennen ja koodin jälkeen olevaa tekstiä / koodia.

Onko tähän olemassa täysjärkistä ratkaisua?

Sahrah [08.09.2008 15:24:20]

#

Vaikka hakisit sivun php tulkin kautta, silti sieltä tulee html javascript kakka.

Joku säännöllinen lauseke voisi EHKÄ auttaa, monimutkaiseksi menee.
Jos jotain hakutoimintoa sivuillesi olet tekemässä, pistä kaikki teksti tietokantaan ja muotoilut jätä tiedostoihin. Tietokannasta on kätevä hakea hakusanalla ja vaikka kahdella.

ville-v [08.09.2008 17:08:41]

#

Tumettaja kirjoitti:

Tarkennan nyt hieman. Olen tekemässä itselleni pientä skriptiä joka hakee hakusanalla tiedoston lähdekoodista osumia. Aina kun osumia löytyy, skripti tulostaa pienen pätkän tekstiä, josta osuma löytyi. (Eli samalla tavalla kuin Google.) Nyt ongelmaksi tulee kuitenkin lähdekoodissa oleevat html, js, php , css jne. koodit. Jos käyttäjä hakee sanalla 'auto', ja lähdekoodissa on kohta:

alert("volvo on auto!");

tulostuu tietenkin tuo javascripti pätkä ja hiukan koodia ennen ja koodin jälkeen olevaa tekstiä / koodia.

Onko tähän olemassa täysjärkistä ratkaisua?

Käy tiedosto läpi, jos on <script> tai <?php auki, ota vain teksti lainausmerkkien välistä (tarkista vaikka tyyliin if($script_auki||$php_auki) ja $lainaus_auki ). Jos eivät ole, ei lainausmerkillä ole väliä. Style-tagin sisällön varmaankin pudotat kokonaan jos komennot eivät kiinnosta. Html putoaa kun laitat striptags()-funktion läpi ennen tulostusta.

Vastaus

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

Tietoa sivustosta