login  Naam:   Wachtwoord: 
Registreer je!
 Forum

File in array

Offline TotempaaltJ - 03/11/2007 18:58
Avatar van TotempaaltJPHP interesse Ik wil voor een functie met live search graag een manier (functie) om alle files in map en in de submappen in array te zetten, die er dan ongeveer zo uit moet zien:
  1. <?php
  2. $array = array ('bla.php' => 'alles in wat in bla.php staat!',
  3. 'submap/bla.php' => 'dit keer alles in submap/bla.php',
  4. 'submap/submap2/bla.php' => 'enzovoorts');

14 antwoorden

Gesponsorde links
Offline Koen - 03/11/2007 19:03
Avatar van Koen PHP expert Dit moet je doen:
- Map inkijken met PHP.net: readdir en PHP.net: opendir.
- Kijken of het bestand verschillend is van '.' en '..'.
- Kijken of het bestand een map is, met PHP.net: is_dir.
- Het bestand in één keer openen: PHP.net: readfile.
Offline delta_004 - 03/11/2007 19:06 (laatste wijziging 03/11/2007 19:10)
Avatar van delta_004 Onbekend Waarom zou je in een array de sourche van een file zetten?
Dit wordt trouwens ook heel traag en je idee gaat niet werken omdat egte zoekmachienes niet 100000000000000 bestanden met resultaten lokaal hebben. Zij gebruiken honderden computers met databases om de resultaten snel binnen te halen
Offline TotempaaltJ - 03/11/2007 19:10
Avatar van TotempaaltJ PHP interesse Hmm... Hoe anders? Ik moet het kunnen doorzoeken! 
Offline delta_004 - 03/11/2007 19:14
Avatar van delta_004 Onbekend Waar je om vroeg is dit:

  1. <?
  2. $array = array();
  3. $dir="./";
  4. $handle=opendir($dir);
  5. while(($file = readdir($handle))!==false){
  6. if($file != "." && $file != ".." && !is_dir($file)) {
  7. $array[$file] = htmlspecialchars(file_get_contents($file));
  8. }
  9. }
  10. closedir($handle);
  11. echo "<pre>";
  12. print_r($array);
  13. echo "</pre>";
  14. ?>

Als je het in een array houdt kan je de functie htmlspecialchars (Gaat html tegen) verwijderen maar als je het gaat echoen zoalswat nu het geval is met print_r laten staan.
Offline TotempaaltJ - 03/11/2007 19:27
Avatar van TotempaaltJ PHP interesse Hmhm, maar, ik wil ook nog de html en php eruit filteren! Hoe kan dat dan? 
Offline Rens - 03/11/2007 19:29
Avatar van Rens Gouden medaille

Crew algemeen
PHP.net: strip_tags
Ik denk dat je het beter in een SQL database kunt zetten.
En dan elke week of zo alle pagina's een keer opnieuw in de database laten zetten.
En nieuwe pagina's doe je dan de dag dat ze online gezet worden.
Denk dat dat een stuk sneller is...
Offline delta_004 - 03/11/2007 19:56
Avatar van delta_004 Onbekend Preg replace tussen de <? en de ?> en dan \\1 ;)
Offline Ibrahim - 03/11/2007 20:12
Avatar van Ibrahim PHP expert enne, in PHP5 hoef je die readdir enz. niet te gebruiken, gebruik gwn PHP.net: scandir
Offline delta_004 - 04/11/2007 13:13
Avatar van delta_004 Onbekend Wow heel erg bedankt voor die functie:D
Offline TotempaaltJ - 05/11/2007 08:20
Avatar van TotempaaltJ PHP interesse Srry, php 4. nogiets.

@Rens, hoe moet ik alles elke week automatisch opnieuw in een database stoppen dan? 
Offline marten - 05/11/2007 09:04
Avatar van marten Beheerder met cronjobs
Offline TotempaaltJ - 05/11/2007 09:38
Avatar van TotempaaltJ PHP interesse Kan niet op mijn server volgens mij! 
Offline marten - 05/11/2007 09:46
Avatar van marten Beheerder Dan moet je naar een andere server of je zal het handmatig moeten doen.
Offline delta_004 - 06/11/2007 11:44
Avatar van delta_004 Onbekend Ik denk dat je elke dag wel een uurtje op de pc zit niet?

Je moet gewoonvoordat je naar schoolgaat ofso even die pagina open laten staan;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s