<?//zet de tijd limiet op oneindig.set_time_limit(0); $dir = array("../test","../Web site/2vianen");//telt hoeveel mappen er doorgezocht worden.$teller = count($dir);for($dirI=0; $dirI<$teller; $dirI++){ //opent de map. $opendir = opendir($dir[$dirI]); //gaat alle bestanden in de map na. while($filename = readdir($opendir)) { //gebruikt de . & .. & ws_ftp bestanden niet. if(($filename!=".")&&($filename!="..")&&($filename!="WS_FTP.LOG")) { //als het een map is, word deze toegevoegd aan $dir. if(is_dir("$dir[$dirI]/$filename")) { array_push($dir, "$dir[$dirI]/$filename"); } else { //hier worden alleen html & htm bestanden doorgelaten. if (eregi(".*\.html$", $filename)||eregi(".*\.htm$", $filename)) { print "$dir[$dirI]/$filename <br>"; $filesize = filesize("$dir[$dirI]/$filename"); $date = filemtime("$dir[$dirI]/$filename"); //maak contact met de database. $dbname="kontakt"; $user="root"; $password=""; $server="localhost"; mysql_connect($server,$user,$password); mysql_select_db($dbname); $url=mysql_query("select url, filesize, date from page_data where url='$dir[$dirI]/$filename'") or die ("ack! query failed: " ."<li>errorno=".mysql_errno() ."<li>error=".mysql_error() ."<li>query=".$url); //tellen hoeveel er gevonden zijn. $rtel = mysql_num_rows($url); if($rtel==0) { //bestand openen en code opslaan. $bestand = "$dir[$dirI]/$filename"; $fd = fopen ($bestand, "r"); $code = fread ($fd, filesize ($bestand)); fclose ($fd); //de titel los in variabele zetten. preg_match_all ("!\<title>(.+?)</title>!i", $code, $matches); for ($i=0; $i< count($matches[0]); $i++) { $titel = $matches[1][$i]; //alle gevaarlijk tekens backspacen \ $titel = addslashes($titel); } $code = ereg_replace("(<head>)(.*)(</head>)", "<head> </head>", $code); //alleen de teskt tussen </head> en </body> gebruiken. preg_match_all ("!\</head>(.+?)</body>!i", $code, $matches); for ($i=0; $i< count($matches[0]); $i++) { $code = $matches[1][$i]."\n"; } //HTML codes verwijderen $code = strip_tags($code); //omshrijving voor onder de zoekresultaten opslaan. $omschrijving = substr($code, 0, 300); //alle gevaarlijk tekens backspacen \ $omschrijving = addslashes($omschrijving); //De url + info opslaan in db. $query = "insert into page_data (url,title,desc2,filesize,date) values ('$dir[$dirI]/$filename','$titel','$omschrijving','$filesize','$date')"; mysql_query($query) or die ("ack! query failed: " ."<li>errorno=".mysql_errno() ."<li>error=".mysql_error() ."<li>query=".$query); //Alles onderscore maken $code = strtolower($code); //alle gevaarlijk tekens backspacen \ $code = addslashes($code); //alle nutteloze tekens zoals o.a. spaties en enters weghalen $code = preg_replace('![[:space:]]+!', ',', $code); //code filteren $filter = array(",de,", ",het,", ",een,", ",van,", ",in,", ",op,", ",en,", ",er,", ",dan,", ",maar,", ",als,", ",heeft,", ",wel,", ",niet,", ",aan,", ",dat,", ",is,", ",je,", ",ik,", ",wij,", ",we,", ",onze,", ",jullie,", ",ons,", ",hij,", ",zij,", ",mij,", ",", ".", "!", "?", ":", "\"", "(", ")", ",werd,", ",kunt,", ",per,", ",geen,", ",te,", ",kan,", ",nog,", ",me,", ",wordt,", ",was,", ",gaan,", ",met,", ",die,", ",hebben,", ",voor,", ",willen,", ",maken,", ",waarna,", ",om,", ",ben,", ",alle,", ",bij,", ",zijn,", ",door,", ",men,", "&#148;", "&#146;", ";", ",wie,", ",ze,", ",-,", ",ja,", ",nee,", ",ook,", ",had,", ",al,", ",mijn,", ",heb,", ",betreft,", ",wat,", ",soms,", ",kontakt,", ",edities,", ",bv,", ",ter,", ",na,", ",blijft,", ",over,", ",komt,", ",vind,", ",vindt,", ",u,", ",der,", ",moeten,", ",worden,", ",mee,", ",heel,", ",gaat,", ",zo,", "/", ",wil,", ",tot,", ",ene,", ",legt,", ",uit,", ",daar,", ",mag,", ",wanneer,", ",spreekt,", ",vanaf,", ",neer,", ",nu,"); //de woorden filteren uit filter 1. for($i=0; $i<count($filter); $i++) { $code = str_replace($filter[$i], ",", $code); } //van een string een array maken. $array1 = explode(",", $code); //alle dubbele waardes eruit halen. $array2 = array_unique($array1); //alle lege velden weghalen. $naarDB = array_values(array_unique($array2)); for($i=0; $i<count($naarDB); $i++) { //print bij welk woord die is. //print "-".$naarDB[$i]."-<br>"; //URL ophalen van de pagina waar je nu de keywoorden van opslaat. $controleURL=mysql_query("select page_id from page_data where url='$dir[$dirI]/$filename'") or die ("ack! query failed: " ."<li>errorno=".mysql_errno() ."<li>error=".mysql_error() ."<li>query=".$controleURL); While ($row = mysql_fetch_array($controleURL)) { $UrlId=$row[page_id]; } mysql_free_result($controleURL); //URL lijst opvragen van de keywoorden in de db. $controle=mysql_query("select page_id from keywords_list where woord='$naarDB[$i]'") or die ("ack! query failed: " ."<li>errorno=".mysql_errno() ."<li>error=".mysql_error() ."<li>query=".$controle); While ($row = mysql_fetch_array($controle)) { $UrlId2=$row[page_id]; } //controleren of keyword al bestaat. $rtel2 = mysql_num_rows($controle); mysql_free_result($controle); //als het keyword nog niet bestaat. if($rtel2==0) { $query = "insert into keywords_list (page_id,woord) values ('$UrlId','$naarDB[$i]')"; mysql_query($query) or die ("ack! query failed: " ."<li>errorno=".mysql_errno() ."<li>error=".mysql_error() ."<li>query=".$query); } else { //URL toevoegen aan de lijst van het keyword. $URLtoevoegen = "$UrlId2,$UrlId"; $query = "Update keywords_list set page_id='$URLtoevoegen' where woord='$naarDB[$i]'"; mysql_query($query) or die ("ack! query failed: " ."<li>errorno=".mysql_errno() ."<li>error=".mysql_error() ."<li>query=".$query); } } } } } } } //dir sluiten. closedir($opendir); //telt opnieuw, want er kan een nieuwe map begezet zijn. $teller = count($dir); print "Das fijn :)";}?>