[php] file includen zonder <? tags

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Jace / TBL
  • Registratie: Augustus 2001
  • Laatst online: 23-03-2023
Ik heb twee bestanden genaamd bla.php en bla.inc, en nou wil ik graag bla.inc vanuit bla.php includen. Als ik doe include('bla.inc') gaat het mis: het probleem is dat bla.inc geen php tags heeft (dwz "<?" aan het begin enzo), en dat slikt php niet.

Die tags kan ik er wegens omstandigheden ook niet inzetten :)

Kan ik in php een "letterlijke" include doen, net zoals in c++ zeg maar? Die php en mijn inc files staan beide in dezelfde dir.

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

je kan bijvoorbeeld het textbestand inlezen met fopen en fread, en dan de inhoud echo 'en.

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 16-09 19:01

Tux

En dan met http://www.php.net/eval gebruiken als je die include data wil uitvoeren als PHP

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

[nohtml]
Papa Eend schreef op 20 March 2003 @ 17:45:
je kan bijvoorbeeld het textbestand inlezen met fopen en fread, en dan de inhoud echo 'en.
hij wil de php code die in de include staat gewoon uitvoeren, alleen staan er geen <? en ?> omheen, waardoor de code letterlijk geoutput wordt. Dit is dus precies hetzelfde effect als wat jij voorstelt

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

En dan met http://www.php.net/eval gebruiken als je die include data wil uitvoeren als PHP
Ik weet niet of PHP ook gecompileerd wordt (vast wel, ASP wordt zelfs gecompileerd), maar in dat geval zou dat dus extreem traag worden, omdat eval() altijd eerst gecompileerd moet worden of alleen geinterpreteerd kan worden...

日本!🎌


Acties:
  • 0 Henk 'm!

Verwijderd

php wordt geinterpreteerd, en asp ook, alleen .net wordt op het moment vanuit IL omgezet naar bytecode als de pagina voor het eerst wordt aangevraagt.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

JaceTBL:
Die tags kan ik er wegens omstandigheden ook niet inzetten :)

Mag ik weten wat die omstandigheden dan zijn, want ik kan me daar niet zoveel bij voorstellen, eerlijk gezegd :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

drm schreef op 20 March 2003 @ 18:33:

[...]

Mag ik weten wat die omstandigheden dan zijn, want ik kan me daar niet zoveel bij voorstellen, eerlijk gezegd :)
Uiteraardt stelt de TS een hardstikke illegale vraag; maar het is toch een leuke uitdaging? :z Aan TS; kun je de data niet inlezen met fopen en schrijven naar de /TMP met de <? en ?> eromheen? Vervolgens kun je die weer includen. :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Spider.007:
Uiteraardt stelt de TS een hardstikke illegale vraag; maar het is toch een leuke uitdaging?
:? Die vat ik niet helemaal :) Voor zover ik 't kan zien niet echt illegaal, hoor :)

Daarbij komt dat 't wel een leuke uitdaging kan zijn (ach ...), maar ik wil de topicstarter vooral behoeden voor een geval van symptoombestrijding. Als je 't in beginsel misschien beter aan kan pakken, hoef je ook geen rare truc's uit te gaan halen in PHP...

De makkelijkste manier is volgens mij trouwens het volgende:
code:
1
eval ( implode ( '', file ( 'bla.inc' ) ) );
Maar ik vind 't code van niks, dus ik zou liever een andere oplossing zien, die niet met rare trucs aan de gang gaat :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Jace / TBL
  • Registratie: Augustus 2001
  • Laatst online: 23-03-2023
drm schreef op 20 March 2003 @ 18:33:
Mag ik weten wat die omstandigheden dan zijn, want ik kan me daar niet zoveel bij voorstellen, eerlijk gezegd :)
De file die ik include is in feite een c++ file, waarin ik wat dingetjes doe die precies hetzelfde zijn in de php syntax. Ik heb een c++ prog waarin ik die file #include, en online moet ik in m'n php precies diezelfde zooi hebben. En die file verandert nogal vaak :)

Acties:
  • 0 Henk 'm!

  • Jace / TBL
  • Registratie: Augustus 2001
  • Laatst online: 23-03-2023
Spider.007 schreef op 20 March 2003 @ 18:37:
Uiteraardt stelt de TS een hardstikke illegale vraag; maar het is toch een leuke uitdaging? :z
Illegaal? Wat illegaal! :)
Aan TS; kun je de data niet inlezen met fopen en schrijven naar de /TMP met de <? en ?> eromheen? Vervolgens kun je die weer includen. :)
Uhm, dat zou kunnen ja :) Ik vind het wel een beetje smerig, om telkens zo'n file te lezen & schrijven, maar ja.

Ik kan trouwens mijn constructie misschien nog wel herbouwen zodat ik kan volstaan met alleen fopen/fread (dan lees ik hem als data en doe met aangepaste php code hetzelfde als in dat c++ prog), dat scheelt al weer.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

JaceTBL:
De file die ik include is in feite een c++ file, waarin ik wat dingetjes doe die precies hetzelfde zijn in de php syntax. Ik heb een c++ prog waarin ik die file #include, en online moet ik in m'n php precies diezelfde zooi hebben. En die file verandert nogal vaak :)
Hm, interessant :) Kan je hier wat meer van laten zien?

Overigens zou een nogal rare (maar wel werkende) workaround de volgende zijn:

includebestand:
C++:
1
2
3
// <?

en wat code


PHP:
1
2
3
ob_start ();
include ( './include-file.hh' );
ob_end_clean ();


De laatste php (sluit)delimiter is namelijk niet verplicht. (gek genoeg).

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1