$aantalfotos geeft 0

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Php knipper

php knipper

08/08/2011 12:53:35
Quote Anchor link
-( ik bouw verder op ditfotoalbum )

ik ga naar een map en daar zitten 3 flv filmpjes in maar toch blijft de varialble "$aantalfotos" op 0 staan.

dit is de code die dat regeld

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

foreach($bestanden as $bestand)
{

    $gegevens     = getimagesize($bestand);
    $extensie     = $gegevens['mime'];

    if($extensie == 'image/jpeg' || $extensie == 'image/gif' || $extensie == 'image/png' || $extensie == 'video/x-flv')
    {

    $afbeeldingen[] = $bestand;
    }    
}


$aantalfotos = count($afbeeldingen);
?>


ik weet dat het kan liggen aan de "getimagesize" maar als ik die weg haal dan krijg ik geen filmpjes of foto's weergegeven.

wie kan me zeggen wat ik fout doe?
 
PHP hulp

PHP hulp

26/04/2024 23:42:24
 
Moe BE

Moe BE

08/08/2011 13:02:29
Quote Anchor link
Zitten er wel afbeeldingen in je map?
 
Jelmer -

Jelmer -

08/08/2011 13:11:07
Quote Anchor link
Je gebruikt getimagesize om te achterhalen of het een foto is of niet. flash filmpjes worden niet herkent door getimagesize als foto, dus $gegevens is False. (Als je error-reporting aan had gezet had je vanzelf een melding gekregen voor regel 6)

Error reporting zet je aan door dit in het begin van je script te zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
?>


Probeer eens zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

function extensie($bestand)
{

    $positie_punt = strrpos($bestand, '.');
    
    return $positie_punt !== false
        ? substr($bestand, $positie_punt + 1)
        :
null;
}


foreach($bestanden as $bestand)
{

    $gegevens = getimagesize($bestand);
    
    if ($gegevens && in_array($gegevens['mime'], array('image/jpeg', 'image/gif', 'image/png')))
        $afbeeldingen[] = $bestand;
    
    elseif (extensie($bestand) == 'flv')
        $afbeeldingen[] = $bestand;
}


$aantalfotos = count($afbeeldingen);
?>


of gebruik finfo om het mimetype op te halen, maar het ligt een beetje aan je server of dat werkt.
 
Php knipper

php knipper

08/08/2011 16:38:16
Quote Anchor link
Ok, ik krijg nu al een 3 ( er zijn 3 filmpjes )
maar nu krijg ik niet 3 keer filmpje ( nu geeft het script de echo filmpje niet )

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    if(!file_exists($afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename']))
    {

        if(thumbnail($afbeelding, array('klein', $hoogte_klein, $breedte_klein)))

        {

        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
        }
    }
else{
        if (extensie($bestand) == 'flv')
        {

        echo "filmpje";
        }
else{
        echo '<a href="?pagina=fotoalbum&amp;album='.$map.'&amp;afbeelding='.$afbeelding['basename'].'"><img src="'.$afbeelding['dirname'].'/thumbs/klein_'.$afbeelding['basename'].'" title="'.$afbeelding['basename'].'" alt="'.$afbeelding['basename'].'" class="thumbs"></a>'.PHP_EOL;
    }
    }
    }
}

?>
Gewijzigd op 08/08/2011 16:38:41 door php knipper
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.