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?
<?php $tuloste = exec("php toinenskripti.php"); ?>
Toimisko näin?
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 ?>
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
.
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?
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.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.