[php] include hoe ?

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

  • Yoram
  • Registratie: Augustus 2004
  • Laatst online: 05-02 21:23
Hallo allemaal,

Ik wil voor mijn eigen site een deel van een andere website halen.
De site waarvan ik het vandaan wil halen is steeds anders (het zijn rooster wijzigingen van mijn school) dus het simpel kopieeren plakken kan dus niet. Ik heb al her en der gelezen dat je wat met "include" kan doen. Nu heb ik op php.net gekeken hoe dat nou ik elkaar zit, maar ik snap er niks van.
De bron site (van mijn school) is trouwens: http://www.lekenlinge.nl/nieuw/roosters/dr.php?webrooster=10
Ik heb natuurlijk ook al het vereiste zoekwerk gedaan op GOT en Google, maar ik wordt er niet wijzer van. Mischien dat iemand een voorbeeld script heeft?

Aangezien ik een harstikke php noob ben zou ik wat hulp willen vragen over dat include gedoe. Alvast bedankt.

[ Voor 5% gewijzigd door Yoram op 18-09-2005 20:53 ]

Hallo!


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

code:
1
2
3
<?php
       include ("pad/naar/pagina.php");
?>

Going for adventure, lots of sun and a convertible! | GMT-8


  • Yoram
  • Registratie: Augustus 2004
  • Laatst online: 05-02 21:23
snake903 schreef op zondag 18 september 2005 @ 20:59:
code:
1
2
3
<?php
       include ("pad/naar/pagina.php");
?>
Dat begrijp ik wel, maar dan haal ik een hele site binnen terwijl ik maar een deel nodig heb.

Hallo!


  • Patriot
  • Registratie: December 2004
  • Laatst online: 16:20

Patriot

Fulltime #whatpulsert

Je kunt ook file_get_contents gebruiken.

code:
1
2
3
4
5
<?php

echo file_get_contents('http://www.lekenlinge.nl/nieuw/roosters/dr.php?webrooster=10');

?>

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Je zult de file moeten parsen zodat je het gedeelte eruitfiltert wat je daadwerkelijk wilt hebben.

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


Verwijderd

Je wilt waarschijnlijk een deel van de gegenereerde (school)pagina op jou pagina gebruiken. Dit kan o.a. met regular expressions. Dit is best lastig om goed en foutloos op te zetten.

In ieder geval zal ik je met een beetje pseudo-code vertellen wat je kan doen:
1. laadt de pagina in een string > $str = file_get_contents('http://www.lekenlinge.nl/nieuw/roosters/dr.php?webrooster=10');
2. Zoek in de gegenereerde html-source van deze pagina de tekst die je wilt gebruiken en zoek naar een begin en eind. In jou geval zal waarschijnlijk de div-tag volstaan. Deze div tag heeft een id en zal naar alle waarschijnlijkheid telkens gevult worden met jou roosterinfo, etc. Je kan door een regular expression een tekst op basis van een patroon selecteren. Selecteer tekst mbv de regular expressions door het volgende (regex1)*(regex2) waar regex1 het beginpatroon is en regex2 het eind. Het sterretje is dan de tekst die overblijft. Let op dat alleen de tekst tussen het patroon wordt geselecteerd.
3. echo het overblijfsel

Een beter idee kan zijn dat je vraagt bij de webmaster van je school of de info uit een db wordt gezogen. Je kan dan gewoon zelf de query uitvoeren (mits de behoevende poorten open staan uiteraard). Dat is beter dan te rotzooien met regular expressions, immers je weet nooit of de regular expressions altijd werken omdat de pagina in kwestie wel eens van source kan veranderen.

Deze functionele uitleg moet voldoende zijn. Als je nog niet bekend bent met regular expressions moet je hier kijken: http://nl2.php.net/manual/nl/function.ereg.php.
Als je de uitleg te lastig vindt kijk dan hier: www.w3schools.com

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Je kan inderdaad met file_get_contents de hele pagina binnenhalen, en dan met een regular expression of met wat gegoochel met strpos en substr datgene eruit halen wat je nodig hebt. Als je daar problemen mee hebt, dan verwijs ik je graag nog even naar de post van dvdruit hierboven, waar het redelijk netjes uitgelegd staat, al zou ik liever naar preg_match kijken dan naar ereg, aangezien Perl compatible regular expressions gangbaarder en sneller zijn. :)

Mocht je tegen een concreet probleem aanlopen, dan kun je hier een nieuw topic openen, maar zoals je topic er nu staat is het eigenlijk alleen maar te lezen als een scriptrequest, en die zien we hier liever niet. :)

'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.

Pagina: 1

Dit topic is gesloten.