Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] unlink nach auftrag

Einklappen

Neue Werbung 2019

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

  • [Erledigt] unlink nach auftrag

    Hey,
    Ich hab in meiner db zufällige namen von bildern mit anderen werten. Wenn ich jetzt den ganzen Datensatz löschen will zieh ich mit
    PHP-Code:
    while($daten mysqli_fetch_assoc($werte)){
    $basis $daten["basis"];
    $abzug $daten["abzug"];
    $username $daten["username"];
    $urlstat $daten["urlstat"];
    $urltanken $daten["urltanken"];
    $urlfeahre $daten["urlfeahre"];

    alles was ich für die anderen Berechnungen brauch raus inkl. die namen der bilder. Die Namen sehen ungefähr immer so aus.

    PHP-Code:
    jnGj85RQ9hXbg4XmD3z9Qpt0p.png 
    Eine zufällige Kette aus 25 Zeichen inkl. .png

    Jetzt frag ich vor dem löschen des Datensatzes mit

    PHP-Code:
    if($urlstat 5){
    unlink("upload/$urlstat");    
    }
    if(
    $urltanken 5){
    unlink("upload/$urltanken");
    }
    if(
    $urlfeahre 5){
    unlink("upload/$urlfeahre");    

    ab, ob die variablen die er vorher genommen hat, größer als 5 sind und unlink die Datei danach.

    Gruß.

    ps. Grad nochmal getestet ohne die if Abfrage, dann geht es. Kann man die länge der Zeichen nicht mit einer Zahl abfragen?

  • #2
    Zitat von Ventus Beitrag anzeigen
    ps. Grad nochmal getestet ohne die if Abfrage, dann geht es. Kann man die länge der Zeichen nicht mit einer Zahl abfragen?
    Ach, du willst mit der Länge des Strings vergleichen? Dann mach das doch, strlen() existiert.

    Kommentar


    • #3
      Dankeschön.
      Habs jetzt rundum so gelöst. Hier mal für weitere die auch so ein problem haben

      PHP-Code:
      $urlstat_l strlen($urlstat);

      if(
      $urlstat_l 5){
      unlink("upload/$urlstat");    

      Kommentar


      • #4
        Die Logik verstehe ich nicht, was hat denn die Länge des Dateinamens damit zu tun? Du schreibst, dass der Dateiname immer 25 Zeichen lang ist, dann ist doch eine Überprüfung auf größer 5 Zeichen Blödsinn. Ich würde lieber mit file_exists prüfen, ob die Datei auch wirklich existiert
        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

        Kommentar


        • #5
          naja, da nicht immer ein bild eingefügt ist, könnte ich zwar wie du erwähnt hast die methode file_exists machen, leuchtet mir auch ein. Aber da eh schon eine datenbank verbindung existiert kann ich auch gleich so nutzen. Es werden ja immer sobald kein bild eingefügt ist in die Datenbank eine 0 geschrieben, sprich kleiner als 5. Also sobald ein name drinne ist, löscht er die datei.

          Und letzten endens muss jeder selbst klar kommen und bei veränderungen durchblicken.

          Kommentar


          • #6
            Man kann aber auch den richtigen Weg gehen -> prüfen ob die Datei existiert.
            Wenn man Befehle aufs Dateisystem loslässt, sollte man sich gut überlegen was man da tut.

            PHP-Code:
            $urlstat_l strlen($urlstat);

            if(
            $urlstat_l 5){ 
            Den Umweg über eine neue Variable kann ich nicht nachvollziehen.
            [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
            [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

            Kommentar


            • #7
              Zitat von Ventus Beitrag anzeigen
              Aber da eh schon eine datenbank verbindung existiert kann ich auch gleich so nutzen.
              Was hat das damit zu tun?
              Zitat von Ventus Beitrag anzeigen
              Es werden ja immer sobald kein bild eingefügt ist in die Datenbank eine 0 geschrieben, sprich kleiner als 5.
              Wieso wird da ein 0 reingeschrieben?
              Zitat von Ventus Beitrag anzeigen
              Und letzten endens muss jeder selbst klar kommen und bei veränderungen durchblicken.
              Richtig, aber das sollte immer noch kein Grund für so eine mekrwürdige Programmierung sein
              Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

              Kommentar

              Lädt...
              X