Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

fotoalbum gekoppeld aan de rssfead van Picasa Web Albums

Pagina: 1
Acties:
  • 155 views

Verwijderd

Topicstarter
Hoi,

Ik ben afgelopen week bezig geweest met mijn vakantie foto's en kwam op het idee om een fotoalbum te maken door gebruik te maken van de rss fead van picasa zodat ik ook geen afbeeldingen hoef op te slaan op mijn webserver en dus ook geen grote datastroom genereer.

Het script werkt prima dus ik deel het script dan ook graag met jullie aangezien ik me voor kan stellen dat meer mensen dit handig vinden.
Ik ben er alleen van overtuigd dat het script verbeterd kan worden en hoop dan ook op wat tips zodat ik er nog wat van op kan steken voor de volgende keer.

Bij voorbaad dank.


script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
# config gedeelte 
$popup = 1; // 0 is uit 

# naam van het album 
if (isset($_GET['album'])){ 
    $album = $_GET['album']; 
}else{ 
    $album = ''; 
} 
//alle albums als niks is meegegeven dan doet hij defauld 
switch ($album): 
        case 'naamalbum': // defineer album naam! 
        $xml = simplexml_load_file('rsslink');// rss 
        break; 
        case 'naamalbum':// defineer album naam! 
        $xml = simplexml_load_file('rsslink');// rss 
        break;        
        case 'naamalbum':// defineer album naam! 
        $xml = simplexml_load_file('rsslink');// rss 
        break;        
        case 'naamalbum':// defineer album naam! 
        $xml = simplexml_load_file('rsslink');// rss 
        break;        
        default:// indien geen album opgegeven 
        $xml = simplexml_load_file('rsslink'); 
endswitch;    

###################################################################################################### 
if (isset($_GET['l']) &&  $_GET['l'] == 'none'){ 
    $l = 1000; // geen lemiet!!!! nouja we zetten de lemiet op 1000 
}else{ 
    $l = 10; // lemiet per pagina 
} 
if (isset($_GET['page'])){ 
    $p = $_GET['page']; 
}else{ 
    $p = 0; // pagina 
} 
######### 

$t = ($l*$p); // start bij deze foto!!! 

############ - navigatie balk opbouwen###### 
$nav = ''; 
$a=0; 
while($xml->channel->item[$a]){ 
    $a++; //telt het aantal items uit de rssfead 
} 
$maxpagina = ceil($a/$l);// aantal pagina's afronden 
$maxpagina = $maxpagina-1;// maximaal aantal pagian's altijd min 1; 
if ($maxpagina > 0 ){ // als de lemiet niet op 0 staat dan tonen we pagina's 
    if ($p >= 1) { $nav .= '<a href="./?page='.($p-1).'&album='.$album.'">Vorige Pagina</a> |'; }else { $nav .= 'Vorige Pagina |'; } 
    $nav .= ' <a href="./?l=none">Alle foto\'s</a> '; 
    if ($p < $maxpagina) { $nav .= '| <a href="./?page='.($p+1).'&album='.$album.'">Volgende Pagina</a>'; }else { $nav .= '| Volgende Pagina'; } 
    $nav .= '<br><br>'; // vanaf hier komen de pagina nummers er bij 
    $nav .= '<strong>Pagina:</strong> '; 
    $g=0; 
     while ($g <= $maxpagina){ 
        if ($g != $p){ 
        $nav .= '<a href="./?p=fotoalbum&page='.$g.'&album='.$album.'">'.($g+1).'</a> | '; 
        }else{ 
        $nav .= '<strong>'.($g+1).'</strong> | '; 
        } 
        $g++; 
    } 
    $nav .= '<br><br>'; 
} 
########## --------- rss uitlezen -------------- 
$v =0; // lemiet teller (afblijven) 
    while($xml->channel->item[$t]){ #haal alle foto's op uit de rssfead 
        if ($v != $l){  
            if ($v == 0){ print $nav; } $v++;    //NAVIGATIE boven aan de pagina 
                # sloop alles uit de rss zodat er overblijft wat je nodig hebt!                                                
                $description = $xml->channel->item[$t]->description; 
                $title = $xml->channel->item[$t]->title; 
                $link = $xml->channel->item[$t]->link; 
                $description = strip_tags($description, '<img>');     
                list($plaatje, $tekst) = split('>', $description); 
                $plaatsje =  $plaatje.'><br><br>'; 
                # zo alles klaar voor gebruik 
                print '<h1>'.$title.'</h1>'; 
                if ($popup == 1){                                         # wel popup foto 
                    print '<a href="'.$link.'" target="_blank">';            
                        print $plaatsje; 
                    print '</a>'; 
                }else{ 
                    print $plaatsje;                                     # geen popup foto 
                } 
        } // if ($v < $limit){ 
        $t++; // zet volgende foto (als die er is!)!!!        
    } 
    if ($v == $l){ print $nav; }     // NAVIGATIE onderaan de pagina 
?>

[ Voor 0% gewijzigd door RobIII op 25-04-2008 12:31 . Reden: Code tags toegeveogd ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je code post, gebruik dan code tags.
Daarnaast ben ik heel blij met je (nobel bedoelde) topic; het is echter niet de bedoeling dat iedereen hier z'n scriptjes gaan plaatsen met daarbij een "opmerkingen welkom"; Je bent van harte welkom met concrete vragen, maar "open vragen" als deze zijn dus niet de bedoeling.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.