PHP Include
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:
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
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
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?
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.
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?
Niemand een oplossing?