Afbeeldingen zoeken op site.

Vragen over PHP en MySQL.
Forumregels
Lees onze Huisregels

Afbeeldingen zoeken op site.

BerichtDoor liam27 op 27 Jul 2010 16:04

Hallo iedereen,

Ik heb een website met zo'n 1000 afbeeldingen. Nu wil ik graag dat mijn bezoekers kunnen zoeken naar afbeeldingen, aan de hand van de alt tags met informatie die bij elke afbeelding aanwezig zijn.

Verder maak ik geen gebruik van een PHP afbeeldingen script. Bestaat er een PHP systeem dat kan zoeken in de alt tags en daar automatisch de thumbnail bij weergeeft?

Alvast bedankt voor eventule hulp.

Liam
liam27
Newbie
Newbie
 
Berichten: 4
Geregistreerd: 27 Jul 2010 15:59

Re: Afbeeldingen zoeken op site.

BerichtDoor The Skull op 27 Jul 2010 18:13

Maakt het script gebruik van een database?
Zoja, dan staat daar waarschijnlijk een tabel in met images waarin de bijbehorende alt-tag staat.

Er moet dan een scriptje geschreven worden dat deze lijst met alt-tags gaat doorzoeken en daar een resultaat bij geeft.
The Skull
Moderator
Moderator
 
Berichten: 1050
Geregistreerd: 10 Mrt 2005 19:49
Woonplaats: Enschede

Re: Afbeeldingen zoeken op site.

BerichtDoor liam27 op 28 Jul 2010 11:03

Het probleem is juist dat er geen fotoscript is, dus de foto's (en dus de alt tags) staan gewoon in html. Als het in een database stond was het inderdaad niet zo moeilijk geweest.
liam27
Newbie
Newbie
 
Berichten: 4
Geregistreerd: 27 Jul 2010 15:59

Re: Afbeeldingen zoeken op site.

BerichtDoor jaapz op 30 Jul 2010 22:53

Hoe is die opbouw van je site dan? Allemaal aparte html pagina's of 1 grote pagina met alle plaatjes?
Imperare sibi maximum imperium est
www.jaapz.nl - www.dutchgimpers.nl - blog.jaapz.nl
Gebruikersavatar
jaapz
Moderator
Moderator
 
Berichten: 2000
Geregistreerd: 28 Feb 2006 16:47
Woonplaats: Assen

Re: Afbeeldingen zoeken op site.

BerichtDoor liam27 op 31 Jul 2010 12:35

Allemaal aparte pagina's met foto's. Ik denk zo'n 50 totaal. Maar ook pagina's met veel tekst en foto's. Dus het zoeksysteem moet niet alles gaan zoeken, maar echt alleen wat in de alt-tags staat.
liam27
Newbie
Newbie
 
Berichten: 4
Geregistreerd: 27 Jul 2010 15:59

Re: Afbeeldingen zoeken op site.

BerichtDoor touwtrekker op 31 Jul 2010 17:48

Code: Alles selecteren
<pre>
<?php
$foto
=array(); 
function scantree
($f) {
    global $foto; 
  if 
(is_dir($f)) {
    foreach(glob($f.'/*') as $sf) {
      if (is_dir($sf) && !is_link($sf)) {
        scantree($sf);
      } else {
             if(in_array(substr($sf,1+strrpos($sf,'.')),array('htm','html','php'))){
                if(($content=file_get_contents($sf))){
                    preg_match_all('/<img\b[^>]*>/i',$content,$sugestie); 
                    foreach
($sugestie[0] as $f){
                        $foto[]=$sf.' - '. $f; 
                    
}
                }
        }
      }  
    
}  
  
}
}
scantree('../htdocs');
print_r($foto); 
?>
</pre>

Run dit scriptje in de htdocs map (of /public_html of www maar dan wel de aanroep aanpassen) .... op die manier haal je de images uit al uw php, htm en html bestanden ... nog wel wat werk om de url samen te stellen en de alt eruit te regex'sen ... maar je bent een een stuk op weg

ps ... dit script kan een behoorlijke tijd bezig zijn ... in de meeste gevallen is gebruik maken van google binnen de site een betere optie
Gebruikersavatar
touwtrekker
Hoofdmoderator
Hoofdmoderator
 
Berichten: 4908
Geregistreerd: 02 Dec 2004 12:55
Woonplaats: Merksplas België

Re: Afbeeldingen zoeken op site.

BerichtDoor touwtrekker op 31 Jul 2010 20:09

ik heb het nog wat uitgebreid door de tag in een simpleXML object te verpakken.

Code: Alles selecteren

<?php
$foto
=array(); 
$map='../htdocs'

function 
scantree($f) {
    global 
$foto$map
  if (
is_dir($f)) {
    foreach(
glob($f.'/*') as $sf) {
      if (
is_dir($sf) && !is_link($sf)) {
        
scantree($sf);
      } else {
            if(
in_array(substr($sf,1+strrpos($sf,'.')),array('htm','html','php'))){
                if((
$content=file_get_contents($sf))){
                    
preg_match_all('/<img\b([^>]*)>/i',$content,$sugestie); 
                    foreach(
$sugestie[1] as $f){
                        
$f='<img '.$f.'/>'
                        if((
$f=simplexml_load_string($f,'SimpleXMLElement',LIBXML_NOERROR))&&
                                isset(
$f->attributes()->alt)){
                            
$pag=str_replace($map,'',$sf); 
                            
$pad=substr($pag,0,strrpos($pag,'/'));
                            if(
$pad!=''&&stripos($f->attributes()->src,'http')===false)
                                
$f->addAttribute('pad',$pad.'/');
                            
$f->addAttribute('pagina',$pag);
                            
$foto[]=$f
                        }
                    }
                }
            }
      }  
    }  
  }
}
scantree($map);

foreach(
$foto as $f){
    echo
'
        <img 
            src="'
.$f->attributes()->pad.$f->attributes()->src.'"
            alt="'
.$f->attributes()->alt.'"
        >
        <br />
        <b>
            <a href="'
.$f->attributes()->pagina.'"> '.$f->attributes()->alt.'</a>
        </b>
        <br />
    '

}
?>
<pre>
<?php
 print_r
($foto); 
?>
</pre>
Gebruikersavatar
touwtrekker
Hoofdmoderator
Hoofdmoderator
 
Berichten: 4908
Geregistreerd: 02 Dec 2004 12:55
Woonplaats: Merksplas België

Re: Afbeeldingen zoeken op site.

BerichtDoor liam27 op 01 Aug 2010 10:44

Hartstikke bedankt Touwtrekker. Je hebt me goed op weg geholpen, ik denk dat hier wel mee gaat lukken.
liam27
Newbie
Newbie
 
Berichten: 4
Geregistreerd: 27 Jul 2010 15:59


Terugkeren naar PHP + SQL



Wie is er online?

Gebruikers in dit forum: Er zijn geen geregistreerde gebruikers en 0 gasten