[PHP] include externe php files

Pagina: 1
Acties:
  • 1.011 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • redfox314
  • Registratie: December 2004
  • Laatst online: 20-09 22:40
Ik weet dat het een vrij basic vraag is maar ik kan maar niet vinden hoe ik een externe php file met functies includeer in een xhtml file met wat php erin

Ik heb geprobeerd om dit te doen

PHP:
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title> Menu</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=ISO-8859-1"/>
<?php include "externalfile.php" ?>
</head>
<body>


maar dan wordt de code in externalfile.php afgebeeld op het scherm

ik heb dezelfde code maar dan met commentaar tags rond de php gezet maar dat verbergt alleen maar de code terwijl die helemaal niet zichtbaar hoort te zijn

Iemand een oplossing?

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Heb je in externalfile.php wel de <?php en ?> geplaatst?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

De manier waarop je het nu laat zien zou de externalfile.php moeten uitvoeren. Als je een include doet met http://www.blaat.nl/ergens/file.php dan wordt de file door de webserver van blaat.nl uitgevoerd (indien php daar op draait) en vervolgens op de plek van de include gestopt. Je locale PHP zal in dat geval de file nooit uitvoeren.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Wat is precies de locatie van de file die je wilt includen? En is php wel geinstalleerd op de webserver?

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je PHP-code vanaf een andere locatie (c.q. andere webserver) wil downloaden en uitvoeren, dan zul je moeten zorgen dat die webserver de code niet uitvoert maar ongeparst aan jou doorgeeft. Je zal dus een andere extensie aan de file moeten geven, of zorgen dat PHP-files in de map waar dat bestand staat niet geparst worden.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 17-09 14:06
Borizz schreef op dinsdag 23 mei 2006 @ 23:09:
Wat is precies de locatie van de file die je wilt includen? En is php wel geinstalleerd op de webserver?
Dat lijkt mij toch wel, anders zou hij <? include.... ?> in zijn xhtml pagina zien, en niet de inhoud van de externe file. Ik denk zelf dat het probleem er is dat de TS geen <?php [...] ?> in zijn externe file heeft staan.

The easiest way to solve a problem is just to solve it.


Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
trinite_t schreef op dinsdag 23 mei 2006 @ 23:13:
[...]


Dat lijkt mij toch wel, anders zou hij <? include.... ?> in zijn xhtml pagina zien, en niet de inhoud van de externe file. Ik denk zelf dat het probleem er is dat de TS geen <?php [...] ?> in zijn externe file heeft staan.
Als de file van een andere webserver geinclude wordt, zou het goed kunnen dat daar geen php geinstalleerd is of da thij de output van het script include. Vandaar mijn vragen.

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 17-09 14:06
Borizz schreef op dinsdag 23 mei 2006 @ 23:20:
[...]

Als de file van een andere webserver geinclude wordt, zou het goed kunnen dat daar geen php geinstalleerd is of da thij de output van het script include. Vandaar mijn vragen.
Als daar geen php op geïnstalleerd is zou het geen probleem zijn, want dan krijg hij gewoon de php file binnen, als dit wel zo zou zijn, dan zou hij idd de output includen. Maar dan zou hij nog steeds niet de file zelf te zien krijgen. Dus als ik het zo lees/beredeneer dan wordt er met externe file bedoelt dat het gewoon een andere file op de server is. Maar ik kan het naturlijk ook mis hebben O-)

The easiest way to solve a problem is just to solve it.


Acties:
  • 0 Henk 'm!

  • redfox314
  • Registratie: December 2004
  • Laatst online: 20-09 22:40
Snel antwoord me like it.

De file staat op dezelfde server in een subdir.

het is gewoon de bedoeling dat ik de functies gedefinieert in die files kan aanroepen in
<?php secties in deze file

of is er een andere (c++ header file style of java import style) mogelijkheid om klasses en functies te importeren

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Nee, gewoon include(_once) of require(_once). Maar de tip van [rml]Osiris in "[ PHP] include externe php files"[/rml] werkte dus niet? Want als het zaakje op dezelfde server staat, dan lijkt dat me wel de oplossing te zijn.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 17-09 14:06
Weet je zeker dat je <?php secties hebt staan in dat bestand? Aangezien het weergeven van de content normaal gesproken alleen gebeurt met text buiten de <?php .. ?> sectie.

[ Voor 5% gewijzigd door trinite_t op 23-05-2006 23:42 ]

The easiest way to solve a problem is just to solve it.


Acties:
  • 0 Henk 'm!

  • redfox314
  • Registratie: December 2004
  • Laatst online: 20-09 22:40
ik heb de file nagekeken en er staat wel degelijk <?php ?>
het bizarre aan de zaak is dat de functies die erin gedefinieert staan aangeroepen kunnnen worden

sterker nog in die file - hier onder de alias "externalfile.php" - zonder html code of iets wordt een andere file geincludeerd en die wordt niet weergegeven

externalfile.php (of .txt zoals ik zonet heb geprobeerd zonder succes)
is van de onderstaande vorm

PHP:
1
2
3
4
<?php
function ...

?>

[ Voor 10% gewijzigd door redfox314 op 24-05-2006 00:03 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Heb je niet deze code:

<?php include("externalfile.php"); ?>

Acties:
  • 0 Henk 'm!

  • redfox314
  • Registratie: December 2004
  • Laatst online: 20-09 22:40
Verwijderd schreef op woensdag 24 mei 2006 @ 00:00:
Heb je niet deze code:

<?php include("externalfile.php"); ?>
ik heb inderdaad die code in de html file waarin in een <?php sectie de functies gedefinieert in
externalfile.php worden opgeroepen

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Heb je nergens geëxperimenteerd met andere functies als file_get_contents ofzo? Doe eens een testcase als deze:

bestand1.php:
PHP:
1
include("bestand2.php");


bestand2.php:
PHP:
1
echo "test";


Als je bestand1.php nu in je browser opent moet je niets meer en niets minder dan de tekst "test" te zien krijgen. Klopt dat?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • trinite_t
  • Registratie: Maart 2003
  • Laatst online: 17-09 14:06
Is het wel een .php file van waaruit je die include aanroept? (misschien rare vraag hoor) (en het is ook vreemd dat je dan de code te zien krijgt van de file ipv in je browser <?php include.... ?> :+ ) En geen .html of .xhtml?

Maar ik ga :Z . Morgen weer een dag :P

[ Voor 11% gewijzigd door trinite_t op 24-05-2006 00:12 ]

The easiest way to solve a problem is just to solve it.


Acties:
  • 0 Henk 'm!

  • redfox314
  • Registratie: December 2004
  • Laatst online: 20-09 22:40
het is een .php

het volgende krijg ik als output (als ik in mijn browser de bron laat weergeven)
de verdere php code wordt correct geparsed en geeft de verwachte output alsof ik de functies die ik hier gebruik rechtstreeks in de file had gezet tussen <?php ?>

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Auteur: Roeland Dillen
datum: 24/05/2005
versie: 0.1
-->
<html>
<head>
<title> Menu</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=ISO-8859-1"/>
function connect($verbose)
    {
    
        /* check connection */
        if (mysqli_connect_errno()) {
            if ($verbose)
            {
                printf("<p><code>");
            printf("Connect failed: %s\n", mysqli_connect_error());
                printf("</code></p>");
            }
        exit();
        }
        else
        {
            if ($verbose)
            {
            printf("<p><code>");
            printf("Connection Established, \n");
            printf("Host information: %s\n", $mysqli->host_info);
            printf("</code></p>");
            }
            return $mysqli;
        }
    }
</head>
<body>

<p>
....

[ Voor 19% gewijzigd door redfox314 op 24-05-2006 09:32 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Met die ouput weet ik wel zeker dat er geen <?php en ?>-tags kunnen staan in de file die je include. Heb je echt in beide files die tags gebruikt? En belangrijker: werkt het bestand dat je probeert te includen wel los, dus als je er gewoon via de browser heen gaat?
trinite_t schreef op woensdag 24 mei 2006 @ 00:11:
Is het wel een .php file van waaruit je die include aanroept? (misschien rare vraag hoor) (en het is ook vreemd dat je dan de code te zien krijgt van de file ipv in je browser <?php include.... ?> :+ ) En geen .html of .xhtml?
Bij includes op dezelfde server boeit de bestandsextensie niet. Al was de extensie .ikbeneenaap dan werkt het nog. Er wordt immers code geladen die vervolgens uitgevoerd wordt. Zolang die code zichtbaar blijft, is de extensie dus irrelevant. Nog naast het feit dat de topicstarter aan heeft gegeven dat het echt om PHP-files gaat. :P

[ Voor 18% gewijzigd door NMe op 24-05-2006 00:19 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • redfox314
  • Registratie: December 2004
  • Laatst online: 20-09 22:40
Opgelost: in externalfile includeerde ik nog een andere file en daar was ik de <?php ?> vergeten
Pagina: 1