Ik wil de $extensie zo instellen dat er bijvoorbeeld ook .png of andere extensies kijkt of die bestaan. Is dit mogelijk?

$extensie = .jpg || .png;

if (file_exists("foto.$extensie")) {

}
Voorbeeld
<?php
$file = 'http://www.phphulp.nl/includes/image.php?file=http://www.phphulp.nl/img/avatar/kris-peeters-24276.jpg';;
// extensie zoeken. zie http://php.net/manual/en/function.pathinfo.php , voorbeeld drie
list($dirname, $basename, $extension, $filename) = array_values(pathinfo($file));
if (in_array(strtolower($extension), array('jpg', 'jpeg', 'gif', 'png', 'bmp'))) {
echo 'geldig';
}
else {
echo 'niet geldig';
}
?>

Dat is trouwens een onderdeel van een post die ik eerder vandaag postte: http://www.phphulp.nl/php/forum/topic/meer-dan-1-foto-uploaden/92593/#663247

EDIT: o ja, je had daar nog iets toegevoegd, dat ik niet opgemerkt heb ...
Wacht, geef me even ...

---------------------
zo.

Dit zoekt dus naar 1.jpg; 1.png ... in de map uploads


<?php
$file = 'uploads/1.jpg';
$valid_extensions = array('jpg', 'jpeg', 'gif', 'png', 'bmp');

    // extensie zoeken.  zie http://php.net/manual/en/function.pathinfo.php , voorbeeld drie
    list($dirname, $basename, $extension, $filename) = array_values(pathinfo($file));
    foreach($valid_extensions as $key=>$ext) {
      // alle extensies afgaan
      $newFile = $dirname . '/' . $filename . '.' . $ext;
      if (file_exists($newFile)) {
        echo 'Afbeelding "' . $newFile . '" bestaat<br>';
      }
    }
?>
<?php

if(glob('*.{jpg,gif}')) {
// volgens mij is dit ook een optie.
}
?>
Ja, glob is daar perfect voor, je hebt gelijk.
Danny kempen op 15/10/2013 16:15:54

Ik wil de $extensie zo instellen dat er bijvoorbeeld ook .png of andere extensies kijkt of die bestaan. Is dit mogelijk?

$extensie = .jpg || .png;

if (file_exists("foto.$extensie")) {

}

Misschien moet je jezelf eerst eens afvragen waarom je dit wil weten. Als het goed is behoor je namelijk al te weten welk bestand je gaat opvragen.

Wat jij nu doet is je hengel uitgooien en kijken of je toevallig beet hebt. Als je echter goed programmeert, dan weet je precies om welke vis het gaat, waar die zich bevindt en kun je 'm zo pakken!

Ozzie PHP op 15/10/2013 17:00:09

Misschien moet je jezelf eerst eens afvragen waarom je dit wil weten. Als het goed is behoor je namelijk al te weten welk bestand je gaat opvragen.

Wat jij nu doet is je hengel uitgooien en kijken of je toevallig beet hebt. Als je echter goed programmeert, dan weet je precies om welke vis het gaat, waar die zich bevindt en kun je 'm zo pakken!


Hee Ozzie dat is niet per definitie zo hoor. Als je bijvoorbeeld alle bestanden wilt laten zien in een bepaalde directory zonder dat het script hoeft te weten hoe die bestanden precies heten.
@Frank, dat klopt. Maar de vraagstelling van de topicstarter suggereert in mijn ogen iets anders. Hij wil gaan testen of het bestand foto.jpg of foto.png bestaat. Hij zoekt dus bewust naar een bepaald bestand. Dat lijkt me een andere situatie dan die jij nu schetst.

Reageren