String contains php
Ik wou graag weten of het volgende mogelijk is in PHP:
Stel je voor, ik heb twee bestanden "test.png" en "test.jpg".
Nu wil ik het script vertellen welke extensie het heeft.
Er is dus een formulier waarbij je kan kiezen welk bestand je wilt veranderen.
Dan word dat dus ?file=test.png of ?file=test.jpg.
Hoe kan ik met PHP kijken of er .png of .jpg achter staat?
Want, als er dus .png achter staat, dan moet er iets veranderd worden, en bij .jpg in iets anders.
Weet iemand of dit mogelijk is, en met welke functie?
LET OP!, de bestandsnaam kan ook heel anders zijn. De extensie blijft echter hetzelfde.
Er kan dus straks het volgende staan, en er kan ook meer bijkomen (het veranderd telkens!)
"
test.png
test12.png
jo.png
moeder.png
vader.jpg
kind.jpg
"
Hoe kan ik het script dus vertellen of er .jpg of .png achter staat?
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
strrchr.
Gebruik de punt om op te zoeken.
En als de extensie jpeg is? Dan werkt het niet meer hé...
Gebruik de punt om op te zoeken.
Mr.Ark schreef op 06.12.2009 18:36:
strtolower(substr($_POST['iets'], -3))
En als de extensie jpeg is? Dan werkt het niet meer hé...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$file = $_GET['file']; // om te laten zien waar het vandaan komt
preg_match('/([A-Za-z0-9]+)\.([pngjegif]{3,4})/', $file, $matches);
echo 'Filename: ' . $matches[1];
echo 'Extension: ' . $matches[2];[/code]
$file = $_GET['file']; // om te laten zien waar het vandaan komt
preg_match('/([A-Za-z0-9]+)\.([pngjegif]{3,4})/', $file, $matches);
echo 'Filename: ' . $matches[1];
echo 'Extension: ' . $matches[2];[/code]
Ga niet lopen sukkelen met str_ of preg_ functies je kan met pathinfo uitstekend de extension achterhalen
GaMer13 schreef op 06.12.2009 18:43:
Kan met een regular expression (om maar even meteen daarmee te oefenen):
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$file = $_GET['file']; // om te laten zien waar het vandaan komt
preg_match('/([A-Za-z0-9]+)\.([pngjegif]{3,4})/', $file, $matches);
echo 'Filename: ' . $matches[1];
echo 'Extension: ' . $matches[2];[/code][/quote]
Jij vind dat pjg een goede extensie is?
En bmp mag niet?
$file = $_GET['file']; // om te laten zien waar het vandaan komt
preg_match('/([A-Za-z0-9]+)\.([pngjegif]{3,4})/', $file, $matches);
echo 'Filename: ' . $matches[1];
echo 'Extension: ' . $matches[2];[/code][/quote]
Jij vind dat pjg een goede extensie is?
En bmp mag niet?
/([A-Za-z0-9]+)\.([png|jpeg|jpg|gif|bmp])/
Kan allemaal =] Maar bmp zou ik niet toe laten staan. Is meestal enkele MB groot.
Karl schreef op 06.12.2009 18:37:
strrchr.
En als de extensie jpeg is? Dan werkt het niet meer hé...
Mr.Ark schreef op 06.12.2009 18:36:
strtolower(substr($_POST['iets'], -3))
En als de extensie jpeg is? Dan werkt het niet meer hé...
Klopt karl je hebt gelijk...
Hier is het script wat ik er van gemaakt heb:
(voor degene die het ook zoeken!)
Code (php)
Ik heb het gebruikt voor een resize script, en het werkt perfect :)
Je kan bij mij enkel .JPG / .PNG / .GIF resizen.
Lars
Gewijzigd op 01/01/1970 01:00:00 door Lars Groot