[Funktion] Pic_exists abfrage: Geht das so?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Pic_exists abfrage: Geht das so?

    hi all!

    Ich möchte euch mal um eure potente Unterstützung bitten, nicht viel aber dennoch merkwürdig.

    Ich habe ein Usermanagement, wo man sein Avatar angeben kann.
    Nun wird bei Aufruf eines Benutzers überprüft, ob sein avatar existiert.

    Entweder in dem geprüft wird, ob die Datei existiert (File_exists) oder ob ein Eintrag in der DB vorhandne ist.

    ich mach es aber mit file_exists, denn auch wenn der DB Eintrag vorhanden ist, muss die Datei ja nicht existieren.

    Wäre das die schlechtere Wahl?

    Falls nicht, dann wäre das meine Funktion:
    PHP-Code:
    //userbild oder bild

    function pic_exists($path,$pic)
    {
        if (
    file_exists($path.$pic))
        {
            return 
    $pic;
        }
        else
        {
            
    $nopic='nopic.jpg';
            return 
    $nopic;
        }

    und aufgerufen/benutzt würde diese so:

    PHP-Code:
    'aktuellesavatar' => '<img src="http://web10.isis88.plusserver.de/uploads/avatar/'.pic_exists('/home/www/html/uploads/avatar/',$daten['avatar']).'" style="border: 1px solid; border-color:#000000">'
    Nun wird aber trotzdem immer angezeigt, es GÄBE kein Userpic.
    Ist denn der Aufruf falsch?

    Und welche Variante würdet ihr bevorzugen?
    nur DB check oder auch file_exists?

    danke

  • #2
    1. ich würde beides machen, denn sowohl Einträge ohne Bilder, als auch Bilder ohne Einträge sind ärgerlich.

    2. der Aufruf sieht eigentlich ok aus
    zur Fehlerbehandlung mal $path.$pic ausgeben lassen und schauen ob der String in Ordnung ist (man vergisst gerne mal einen Slash oder so)

    edit: ahhh .. hast ja nun editiert
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

    Kommentar


    • #3
      hmm ich fänds schöner, wenn du nur einen rückgabewert hättest... is sauberer, weil du nur einen austiegspunkt der funktion hast!

      und überprüf mal welche daten an die funktion übergeben werden, vll. sind die ja bereits falsch!

      greetz
      MarsQ

      Kommentar


      • #4
        ok ich werde es morgen Abend gleich austesten.
        Melde mich denn wieder ^^

        Kommentar


        • #5
          Vorsicht, Falle! Wenn $pic leer ist, dann liefert Deine Funktion trotzdem einen Leerstring als Bildname zurück, denn "file_exists" überprüft, ob an diesem Ort eine Datei ODER ein Verzeichnis exisitert. Und da das Verzeichnis wohl immer existiert, ist der Rückgabewert von "file_exists" in diesem Fall TRUE.

          Wenn Du statt "file_exists" die Funktion "is_file" nimmst, dann sollte die Sache rund laufen, auch wenn kein Dateiname angegeben wird.
          Happiness is an empty error log

          Kommentar


          • #6
            interessant...

            ich teste des mal

            Kommentar

            Lädt...
            X