Hallo allemaal,

Ik heb weer een simpel php vraagje:
Ik wil de naam van een geupload bestand hebben zonder de extensie.
Nu dacht ik dit te doen met:

$filename = explode(".", $_FILES['Filedata']['name']);
echo $filename[0];

maar het probleem is dat als de bestandsnaam bijvoorbeeld: "bertus.karel.jpg" is, hij alleen "bertus" teruggeeft. Hoe fix ik dit?
Probeer eens:

<?PHP

strtolower(strrchr($_FILES['field']['name'], '.'))

?>
Zo kan het makkelijker:
<?php
$filename = explode(".", $_FILES['Filedata']['name'], -1);
echo $filename[0];
?>


Gewoon een negatieve limit stellen. (let op: negatieve limiet stellen werkt pas vanaf PHP versie 5.1.0)
En hoe heb je het opgelost, dat is dan ook altijd leuk voor mensen die hier later komen met hetzelfde probleem.
Owja,
Omdat ik alleen afbeeldingen gebruik heb ik het gewoon zo gedaan:
$filename  = str_replace(array(".jpg", ".png", ".gif", ".jpeg"), "", $_FILES['Filedata']['name']);

Ik zeg niet dat deze methode helemaal waterdicht is, want als je een filenaam van bijvoorbeeld afbeelding.jpeggerblabla.png hebt, maakt hij er afbeeldinggerblabla van.
Maar het werkt iig goed genoeg voor wat ik wil.
Dat kan je voorkomen door een extra teken(s) toe te voegen.
<?php
str_replace(array(".jpg|", ".png|", ".gif|", ".jpeg|"), "", $imageid.'_'.$_FILES['Filedata']['name'].'|');
?>

Reageren