2016-08-01 5 views
1

Ich habe einen kleinen Code übereinstimmen Benutzer das Hochladen Bildnamen mit vorhandenen Bildnamen übereinstimmen, ich in der Lage war, dies zu archivieren vonWie Dateinamen mit PHP fnmatch oder andere Match Ausdruck

<?php 
$newName = "foo.png" 
if(file_exists("images/" . $newName)){ 
echo "Image already exist"; 
} 
?> 

Der obige Code verwendet hat für mich gearbeitet, aber wenn das neue Bild foo.jpg ist, wird es es als neues Bild einfügen. Also jetzt, dass ich das Benutzerbild immer zu seinem Benutzernamen umbenennen, der sicherstellt, dass der Dateiname derselbe ist, aber Verlängerung unterschiedlich sein kann, wie kann ich diesem entsprechen? der folgende Code hat nicht funktioniert

<?php 
$NewImage = "foo.jpg"; 
if(fnmatch($_SESSION['username'], $NewImage)) { 
    echo "This image already exist"; 
} 
?> 

Antwort

1

Es funktioniert nicht, weil Sie genau übereinstimmen. Das erste Argument lautet Das Shell-Platzhaltermuster. (wie in PHP manual angegeben), so dass Sie Wildcard benötigen Erweiterung statt Bild zu verwenden, wie folgt aus:

$result = fnmatch('foo.*', $fileName); 
+0

@iku Wie kann ich es nutzen? – Alex