Auschnitt Dateiname ermitteln

PhoenixDH

Erfahrenes Mitglied
Ich habe einen Dateinamen, der in der Variable $filename gespeichert ist.
In dem Dateinamen ist immer irgendwo ein _ und davor die Benutzerkennung.
Jetzt würde ich gerne den Teil vor dem _ einlesen und in einer Variable abspeichern, wie mache ich das ? Keine Ahnung nach was ich suchen soll !

BSP:

Dateiname: 1_75.jpg, dann soll er die 1 filtern
 
Zuletzt bearbeitet:
Hm, das ist nicht so was was ich suche !

Hier mein aktueller Code:
Code:
<?php

include "./inc/header.inc.php";
include "./inc/upload.php";

$pfad = "bildupload/"; 
$dir = opendir($pfad); 
while($filename = readdir($dir)) 
{

    if(strstr($filename, ".jpg") || strstr($filename, ".gif") || strstr($filename, ".jpeg") || strstr($filename, ".png")) 
    { 
        echo "<img src=\"".$pfad."/".$filename."\"><br>";
    } 
}
closedir($dir) 

?>

Jetzt ist es so, die Dateien die gespeichert sind haben am ANfang die Userid und dann ein _, somit muss das ganze vor _ ausgelesen und gespeichert werden bei jeder Datei ! Danach soll in einer Abfrage verglichen werden bei jeder Datei, ob das vor dem _ auch der Userid entspricht, wenn ja soll die Datei angezeigt werden.

Aber mit dem vorherigen bekomme ich das nicht hin, er gibt mir trotzdem alle Bilder aus, weil ich den aktuellen Filename nicht aufgeteilt bekomme, sondern der String wird ja vorher vereinbart und dann gibt er trotzdem alles aus !

Also müsste in der $str1 der aktuelle Dateinamen der Datei stehen die er grad vom Server holt, damit mit der $str2 der Teil vorher ausgelesen wird, damit ich was zu vergleichen habe mit der Userid !
 
Zuletzt bearbeitet:
Also ich finde das Recht logisch, was _voodoo zu deinem Problem geantwortet hat. Hast du das mal in dein Script eingebaut?

Was ich nicht verstehe, ist, was du mit "voher vereinbart" meinst.
 
@lambda: das was _vodoo geschrieben hatte war ja ein fester Wert, slo vorher vereinbart, ja ich habe den Code eingebaut und auch versucht zu modifizieren, aber ich bekomme es halt net hin, weil ich von php net viel Ahnung habe, aber dann werd ich halt weiter testen !
 
ist ja klar, dass alles ausgegeben wird.

Wie wär's denn mit ner if-Abfrage? :rolleyes:

PHP:
 <?php

include "./inc/header.inc.php";
include "./inc/upload.php";

$pfad = "bildupload/"; 
$dir = opendir($pfad); 
while($filename = readdir($dir)) 
{

    if(strstr($filename, ".jpg") || strstr($filename, ".gif") || strstr($filename, ".jpeg") || strstr($filename, ".png")) 
    { 
        if(explode("_", $filename) == $userid){
        echo "<img src=\"".$pfad."/".$filename."\"><br>";
        }
    } 
}
closedir($dir) 

?>
 
naja ob das so ......

PHP:
...

while($filename = readdir($dir)) 
{
    $frg = explode('_',$filename);

    if(strstr($filename, ".jpg") || strstr($filename, ".gif") || strstr($filename, ".jpeg") || strstr($filename, ".png")) 
    { 
        if($frg[0] == $userid){
            echo "<img src=\"".$pfad."/".$filename."\"><br>";
        }
    } 
}
closedir($dir) 

...
 
Zurück