PHP Include

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stef Segers

Stef Segers

01/07/2009 11:21:00
Quote Anchor link
Hey allen,

Ik heb van alles geprobeerd maar kom er niet helemaal uit.
Ik wil het volgende doen.

Ik heb een php pagina waarbinnen ik een html pagina wil tonen. Dit kan ik met een iFrame oplossen maar vind ik niet zo mooi. PHP Include lijkt me erg mooi daarvoor. Maar het probleem dat ontstaat is dat directorynamen etc verkeer gaan. Even hoe ik dit in de praktijk geprobeerd heb.

1. php pagina met de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include("albums/2008-06-14/index.php"); ?>

2. de index.php bevat de volgende code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="swfobject.js" type="text/javascript"></script>
<title>Peter Kos</title>
</head>

<body>

<div id="flashcontent"></div>
<script type="text/javascript">
var so = new SWFObject("/includes/book.swf", "book", "760", "380", "0", "#FFFFFF");
so.addVariable("xmlFile","/album/2008-06-14/pages.xml");
so.write("flashcontent");
</script>

</body>
</html>

Wanneer ik nu de pagina open zie ik dat de afbeeldingen niet gevonden worden welke in de XML verwerkt zijn. Logisch natuurlijk. Maar er moet toch een truc zijn om die dit te misleiden zodat alle beelden wel gevonden worden?

De kracht van de iframe is dat de html vanuit de directory album/2008-06-14 gerunt wordt en daar alle scripts + XML + beelden kan vinden.

Ik hoop dat ik het een beetje duidelijk omschreven heb en dat iemand een mij wat verder kan helpen.

Gr, Stefan
 
PHP hulp

PHP hulp

27/11/2024 06:54:35
 
Emmanuel Delay

Emmanuel Delay

01/07/2009 11:52:00
Quote Anchor link
Ja, met include moet je helemaal anders denken dan met iframes.

Bij een iframe moet je een volledige pagina invoegen, inclusief <html>...<body> ...
Die pagina werkt volledig autonoom. Het lijkt daarmee vrij goed op een pop up. Het relatieve pad van de pagina in de iframe kan dan ook anders zijn dan de pagina van (bv.) index.php.

Bij een include gebeurt iets volledig anders. Wat je doet, is de code van een php file uitvoeren en in (bv.) index.php invoegen.
Er is nu echter geen autonome pagina. Je mag dan ook geen html opmaak hebben in de include.
Het relatieve pad is het pad van index.php, niet van de iframe.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
Stef Segers

Stef Segers

01/07/2009 11:55:00
Quote Anchor link
de reden dat ik include gedaan heb was eigenlijk ook omdat ik liever een schonere code wilde. Het lijkt dan meer alsof het in 1 pagina zit.

Is het wel op te lossen met include of zijn er andere trucs voor?

De XML file heeft netjes de jpg's in zich staan, maar om nou alle xml files weer aan te passen met de volledige path vind ik ook weer overdreven... misschien is daar een andere truc voor?
 
Emmanuel Delay

Emmanuel Delay

01/07/2009 12:05:00
Quote Anchor link
Als je weet welke file je moet includen, weet je ook waar de images zich bevinden.

Bv. albums/2008-06-14/index.php

Voeg dan "albums/2008-06-14/" toe aan de src van de image.

Toon eens hoe je, uit die xml file de images ophaalt.
 
Stef Segers

Stef Segers

01/07/2009 12:09:00
Quote Anchor link
Sorry,

helemaal vergeten de XML te tonen. Het is een XML voro een fotoalbum met zo'n omslaande pagina.

Ik heb de flash bestanden SWFObject + book.swf in de includes map geplaatst.
Voor elk album heb ik een map gemaakt

albums/2008-06-06

in deze map staan de beelden + html pagina + XML

index.html
<code>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="/includes/swfobject.js" type="text/javascript"></script>
<title>Peter Kos</title>
</head>

<body>

<div id="flashcontent"></div>
<script type="text/javascript">
var so = new SWFObject("/includes/book.swf", "book", "760", "380", "0", "#FFFFFF");
so.addVariable("xmlFile","pages.xml");
so.write("flashcontent");
</script>

</body>
</html>
</code>

Hier de pages.XML

<code>
<content width="380" height="380" hcover="false" transparency="false">

<page src="kaft_front.jpg" preLoad="false" />

<page src="01-l.jpg" preLoad="false" /><page src="01-r.jpg" preLoad="false" />
<page src="02-l.jpg" preLoad="false" /><page src="02-r.jpg" preLoad="false" />
<page src="03-l.jpg" preLoad="false" /><page src="03-r.jpg" preLoad="false" />
<page src="04-l.jpg" preLoad="false" /><page src="04-r.jpg" preLoad="false" />
<page src="05-l.jpg" preLoad="false" /><page src="05-r.jpg" preLoad="false" />
<page src="06-l.jpg" preLoad="false" /><page src="06-r.jpg" preLoad="false" />
<page src="07-l.jpg" preLoad="false" /><page src="07-r.jpg" preLoad="false" />
<page src="08-l.jpg" preLoad="false" /><page src="08-r.jpg" preLoad="false" />
<page src="09-l.jpg" preLoad="false" /><page src="09-r.jpg" preLoad="false" />
<page src="10-l.jpg" preLoad="false" /><page src="10-r.jpg" preLoad="false" />
<page src="11-l.jpg" preLoad="false" /><page src="11-r.jpg" preLoad="false" />
<page src="12-l.jpg" preLoad="false" /><page src="12-r.jpg" preLoad="false" />
<page src="13-l.jpg" preLoad="false" /><page src="13-r.jpg" preLoad="false" />
<page src="14-l.jpg" preLoad="false" /><page src="14-r.jpg" preLoad="false" />
<page src="15-l.jpg" preLoad="false" /><page src="15-r.jpg" preLoad="false" />
<page src="16-l.jpg" preLoad="false" /><page src="16-r.jpg" preLoad="false" />
<page src="17-l.jpg" preLoad="false" /><page src="17-r.jpg" preLoad="false" />
<page src="18-l.jpg" preLoad="false" /><page src="18-r.jpg" preLoad="false" />
<page src="19-l.jpg" preLoad="false" /><page src="19-r.jpg" preLoad="false" />
<page src="20-l.jpg" preLoad="false" /><page src="20-r.jpg" preLoad="false" />

<page src="kaft_back.jpg" preLoad="false" />

</content>
</code>


Misschien is dit wat duidelijker?
 
Stef Segers

Stef Segers

06/07/2009 13:30:00
Quote Anchor link
Niemand een oplossing?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.