login  Naam:   Wachtwoord: 
Registreer je!
 Forum

lijst van (.html) pagina's in map en submappen opmaken (array)

Offline bonovox - 07/01/2007 15:47 (laatste wijziging 07/01/2007 15:48)
Avatar van bonovoxNieuw lid Beste, ik heb een bestaand zoekscript genomen waarin je de pagina's die doorzocht moeten worden moet ingeven.
Ik ben nu op zoek naar een functie of iets anders die automatisch alle pagina's met extenstie .html en .htm automatisch aan de variabele $pagina[] toevoegt. Iemand een idee?

mvg.

  1. <?php
  2. error_reporting(0); // E_ALL voor error reporting aan 0 voor uit
  3. $resultaten=0;
  4.  
  5. echo "<center>";
  6. echo "<form action='",$_SERVER['PHP_SELF'],"' method='GET'>\n";
  7. echo "Zoeken: <input type='text' name='q' value='",$_GET['q'],"' size=25>\n";
  8. echo "<input type=submit value='Zoek'>\n</form>\n";
  9.  
  10.  
  11. ###lijst van pagina's
  12. ### geef hier de pagina's op waarin hij moet zoeken
  13. $pagina[]='pagina.html';
  14.  
  15. ###dit bovenstaande stukje moet vervangen worden door een functie die via een for lus ofzo alle .html pagina's toevoegt aan de array.
  16.  
  17. if (isset($_GET['q']))
  18. {
  19. echo "<table>\n";
  20. for ($a=0 ; $a < count($pagina) ; $a++)
  21. {
  22. $paginadata[] = file($pagina[$a]);
  23. }
  24.  
  25. for ($i=0 ; $i < count($paginadata) ; $i++)
  26. {
  27. for ($b=0 ; $b < count($paginadata[$i]) ; $b++)
  28. {
  29. if (eregi($_GET['q'],$paginadata[$i][$b]))
  30. {
  31. $zoekres[] = $pagina[$i];
  32. }
  33. }
  34. }
  35.  
  36. if (count($zoekres) > 0)
  37. {
  38. $zoekres2 = array_unique ($zoekres);
  39. }
  40.  
  41. for ($i=0 ; $i < count($zoekres2) ; $i++)
  42. {
  43. if ($zoekres2[$i])
  44. {
  45. $resultaten = $resultaten+1;
  46. echo "<tr><td>$resultaten<td><a href='" . $zoekres2[$i] . "'>".basename($zoekres2[$i])."</a></tr></td>\n";
  47. }
  48. }
  49.  
  50. echo "<tr><td colspan=2>";
  51.  
  52. if ($resultaten==1)
  53. {
  54. echo "Er is 1 resultaat gevonden";
  55. } else {
  56. echo "Er zijn $resultaten resultaten gevonden";
  57. }
  58. echo "</tr></td>\n</table>";
  59. }
  60. ?>


Citaat:
Rensjuh edit:
Codetags!!!

6 antwoorden

Gesponsorde links
Offline marten - 07/01/2007 15:49
Avatar van marten Beheerder script library al gezocht?
Offline MaartenUreel - 07/01/2007 15:50
Avatar van MaartenUreel Onbekend 1) Met scandir() (php5) heb je snel een map doorzocht
2) Door te gaan matchen op (.*).html heb je snel bestanden die eindigen op .html - je kan ook array_pop(explode('.', $bestand)) == 'html' gebruiken om te controleren
Offline bonovox - 07/01/2007 16:25
Avatar van bonovox Nieuw lid ik heb idd al in de script library gezocht maar niet direct iets gevonden.
De server die ik gebruik heeft php versie 4.4.3 staan, dus die scandir() is geen optie.

(sorry rensjuh voor het niet gebruiken van de codetags, het was nl de eerste keer dat ik hier iets post)
Offline ikkedikke - 07/01/2007 19:56 (laatste wijziging 07/01/2007 19:57)
Avatar van ikkedikke PHP expert $pagina = glob('*.htm*');
edit: niet fooolproof maar een bestand meer doorzoeken kan misschien geen kwaad.
Offline bonovox - 07/01/2007 20:01 (laatste wijziging 10/01/2007 16:00)
Avatar van bonovox Nieuw lid Als ik dat doe steekt hij elke .html pagina in de variabele, maar de bedoeling is om een array te hebben met op elke plaats een html pagina
voorbeeld:
$pagina[0]=start.html;
$pagina[1]=test.html;
...
Offline TotempaaltJ - 10/01/2007 18:44 (laatste wijziging 10/01/2007 18:45)
Avatar van TotempaaltJ PHP interesse Ikzelf heb een script van mijn broer gekregen, weet niet zeker of het is wat je zoekt:
  1. function IsFile($file, $thi)
  2. {
  3. $ext = array(".txt", ".htm", ".html", ".php", ".asp", ".sql", ".aspx", ".xml", ".cpp", ".cs", ".js", ".text", ".css");
  4.  
  5. foreach ($ext as $val)
  6. {
  7. if (strpos($file, $val))
  8. return true;
  9. }
  10. return false;
  11. }

De lijst is simpel aanpasbaar

Je kan hem zo gebruiken:
  1. if(IsFile($file, $thi))
  2. {
  3. $param = "Lorum";
  4. }
  5. else
  6. {
  7. $param = "Larum";
  8. }

 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.369s