Anzeige

Thumbnails löschen

Thumbnails löschen | PSD-Tutorials.de

Erstellt von rey, 04.01.2010.

  1. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    Thumbnails löschen
    hi,
    ich arbeite gerade ein Kapitel in einem php Buch durch. Es geht um die Programmierung einer Galerie.
    Die Bilder werden anhand eines Uploadscripts hochgeladen und in den Ordner verschoben,
    anschließen werden die thumbnails in einem Unterordner generiert, wenn dies alles geschehen ist, wird das ganze nun noch in die DB geschrieben.
    Nun kann es ja sein das man das ein und andere Bilde irgendwann löschen möchte, daher benötigt man natürlich ein Script welches dieses ermöglicht, um nicht via phpMyAdmin dies machen zu müssen, da hänge ich.
    Das Script ist eigentlich gut verständlich.
    Das Problem dabei ist das die thumbnails nicht dargestellt werden, obwohl der Name im array enthalten ist.
    PHP:
    1.  
    2. <html>
    3. <head>
    4. <title>Bilder l&ouml;schen
    5. </title>
    6. </head>
    7. <body>
    8. <?php
    9. include("config.php");
    10. function felder_array($query)
    11. {
    12. settype($felder,"array");
    13. $result=mysql_query($query);
    14. $y= mysql_num_rows($result);
    15. $k=mysql_num_fields($result);
    16.  
    17.   for ($i=0; $i<$y; $i++)
    18.   {
    19.     for($j=0;$j<$k;$j++)
    20.     {
    21.       $felder[$i][mysql_field_name($result,$j)]= mysql_result($result,$i,mysql_field_name($result,$j));
    22.      }
    23.   }
    24. return $felder;
    25. }
    26. ?>
    27. <?php
    28. $ausgabe = felder_array("SELECT id,thumb FROM bilder");
    29. $y=count($ausgabe);
    30.  
    31. ?>
    32. <h2>Bilder l&ouml;schen</h2>
    33. <table width="760" cellspacing="0">
    34. <?php
    35. for ($i=0; $i<$y;$i+=4)
    36. {
    37. ?>
    38. <tr>
    39. <td width="20%" valign="top">
    40. <?php
    41. if($ausgabe[$i][$thumb]){
    42. ?>
    43. <a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i][id])?>"
    44. <img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i][$thumb] ?>" border="0" />
    45. <?php
    46. }
    47. ?>
    48. </a>
    49. </td>
    50. <td width="20%" valign="top">
    51. <?php
    52. if($ausgabe[$i+1][$thumb]) {
    53. ?>
    54. <a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i+1][$id])?>">
    55. <img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i+1][$thumb] ?>" border ="0" />
    56. <?php
    57. }
    58. ?>
    59. </a>
    60. </td>
    61. <td width="20%" valign="top">
    62. <?php
    63. if($ausgabe[$i+2][$thumb]) {
    64. ?>
    65. <a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i+2][$id])?>">
    66. <img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i+2][$thumb] ?>" border ="0" />
    67. <?php
    68. }
    69. ?>
    70. </a>
    71. </td>
    72. <td width="20%" valign="top">
    73. <?php
    74. if($ausgabe[$i+3][$thumb]) {
    75. ?>
    76. <a href="entfernen.php?id=<?php echo urlencode($ausgabe[$i+3][$id])?>">
    77. <img src="<?php echo "gal_imgs/thumb/".$ausgabe[$i+3][$thumb] ?>" border ="0" />
    78. <?php
    79. }
    80. ?>
    81. </a>
    82. </td>
    83. </tr>
    84. <tr>
    85. <td colspan="4">&nbsp;</td>
    86. </tr>
    87. <?php
    88. }
    89. ?>
    90. </table>
    91. </body>
    92. </html>
    93.  
     
    Zuletzt bearbeitet: 04.01.2010
    #1      
  2. beautyIAF

    beautyIAF I like HDR

    Dabei seit:
    14.01.2006
    Beiträge:
    1.269
    Geschlecht:
    männlich
    Ort:
    Kronach
    Software:
    Notepad, Eclipse, PS
    Kameratyp:
    Canon EOS 400d 18-55 Kit + Canon 55 - 250 mm IS + 50mm 1:1,8
    Thumbnails löschen
    AW: Thumbnails löschen

    Wird $thumb auch mit z.B. thumbnail1.jpg gefüllt? Da könnte der eventuelle Fehler liegen, weshalb nichts angezeigt wird.

    Ansonsten hast du ja in deinem Script den Pfad hinterlegt, unter dem die Thumbs gefunden werden, dann einfach noch die entsprechende Menge Checkboxen davor gesetzt und schon kannst du wählen, welche Thumbs alle gelöscht werden sollen..
     
    #2      
  3. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    Thumbnails löschen
    AW: Thumbnails löschen

    ja da wird der komplette Name des Thumbnails gespeichert.
    Aber ob der "." soviel ausmacht.
    habe es auch mal ohne den Dateitypen versucht, also das in thumb nur thumb6 steht und nicht thumb6.jpg, bringt aber nichts.
     
    Zuletzt bearbeitet: 04.01.2010
    #3      
  4. beautyIAF

    beautyIAF I like HDR

    Dabei seit:
    14.01.2006
    Beiträge:
    1.269
    Geschlecht:
    männlich
    Ort:
    Kronach
    Software:
    Notepad, Eclipse, PS
    Kameratyp:
    Canon EOS 400d 18-55 Kit + Canon 55 - 250 mm IS + 50mm 1:1,8
    Thumbnails löschen
    AW: Thumbnails löschen

    Hast du dir denn den Quelltext schonmal angeschaut, der ausgegeben wird, wenn du dein Script aufrufst?
     
    #4      
  5. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    Thumbnails löschen
    AW: Thumbnails löschen

    ja der komplette if Inhalt wird nicht ausgegeben.
     
    Zuletzt bearbeitet: 04.01.2010
    #5      
  6. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Thumbnails löschen
    AW: Thumbnails löschen

    Hi,

    das ist relativ simple. Du lässt dir die Bilder ja irgendwo in einem Adminbereich ausgeben. Diese erhalten eine Checkbox als Array!

    Mit dem auslösen des post (mit welchem die ID übergeben wird), kannst du dann das Bild

    a) wenn Vorschaubild und Vollbild vorhanden als auch Upload-Bild, diese mit unlink(); löschen.
    a) in dem Feld löschen per UPDATE SET feldname = '' WHERE id = x

    Das war es schon.
     
    #6      
  7. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    Thumbnails löschen
    AW: Thumbnails löschen

    Danke.
    Ich glaube das Problem ist nicht ganz richtig rüber gekommen.
    Wie man die Dateien entfernt ist mir bewusst.
    Das Problem ist ein anderes.
    Die Idee war die Bilder im Adminbereich anzuzeigen als thumbnails. Wenn man auf ein bild klickt wird ein weiteres Dokument aufgerufen indem der SQL Delete From... und der unlink befehl zu ihrer tat schreiten.
    Was funktioniert nun nicht?
    Die Vorschau also das anzeigen der Thumbnails im Adminbereich.
    Wenn das Script funktionieren würde, würden 4 thumbnails Pro Zeile angezeigt.
    Die Idee es mit Checkboxen ist natürlich auch nicht schlecht aber der Betrachter sollte ja sehen welches Bild er löscht und das ist eben dass was nicht geht. Die Übersicht der zu löschenden Bilder wird nicht Dargestellt.
     
    #7      
  8. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Thumbnails löschen
    AW: Thumbnails löschen

    Naja, das sagte ich ja bereits. Du musst ein input-tag (z.B.: checkbox) hinzufügen. Auf jeden Fall würde ich da ein post ansetzen und keine GET-Parameter. Das kann man - je nach Sicherheit von aussen alles löschen ;) (sofern per GET-Parameter).

    Wenn du eine Checkbox verwendest:
    Code (Text):
    1.  
    2. <input type="checkbox" name="id[imageid]" value="imageid" />
    3.  
    kannst du über die Verarbeitung das Bild in der DB entsprechend ID anpassen und per unlink() löschen.

    Wenn du das per LINK also mit GET-Parametern vornehmen möchtest, musst du natürlich die ID übereben, danach ein SELECT auslösen, welcher den Bildnamen liefert. Danach unlink() und danach DB-Feld anpassen per UPDATE.
     
    #8      
  9. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Thumbnails löschen
    AW: Thumbnails löschen

    Mach doch mal eine Testausgabe, nur vom Array mit Schlüsseln, dann weißt Du auch warum Deine If-Abfragen nicht erfüllt werden ;)

    Btw. Glückwunsch /oder Beileid saila zum Modposten :D
     
    Zuletzt bearbeitet: 04.01.2010
    #9      
  10. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Thumbnails löschen
    AW: Thumbnails löschen

    Danke - jetzt gibbed aber an Silverster auch einen Thread hier mit Glückwünschen :D der nicht gelöscht wird
     
    #10      
  11. Chriss1987

    Chriss1987 me.drinkCoffee();

    Dabei seit:
    26.03.2006
    Beiträge:
    378
    Geschlecht:
    männlich
    Ort:
    Kirchhundem
    Kameratyp:
    Canon EOS 400D
    Thumbnails löschen
    AW: Thumbnails löschen

    Hi,

    was steht denn im Array, wenn du es dir mit:
    PHP:
    1. echo "<pre>";
    2. print_r($ausgabe);
    3. echo "</pre>";
    ausgeben lässt?

    Schöne Grüße aus dem Sauerland!
    Chriss
     
    #11      
  12. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    Thumbnails löschen
    AW: Thumbnails löschen

    da bekomme ich natürlich die Inhalte des arrays wiedergegeben.
    Die arrays sind vorhanden deshalb verstehe ich nicht wieso es, es bei der if Bedingung nicht durchlässt denn der array hat ja Inhalt und ist nicht leer.
    Ok habe die Fehler gefunden.

    $thumb muss natürlich nur thumb heißen und $id nur id da das ja die Felder Namen im array sind ;)
    Solche Fehler sind echt ärgerlich.
    Was ich mich aber Frage ist, wieso du@saila sagst ich solle UPDATE machen.
    DELETE FROM ist doch richtiger, was möchte ich mit einer leeren Zeile ;)
     
    Zuletzt bearbeitet: 05.01.2010
    #12      
  13. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    Thumbnails löschen
    AW: Thumbnails löschen

    Weil es ja sein kann, dass mehrere Bilder oder auch noch Text (was eine nicht normalisierte Tabelle darstellen würde) in der Tabelle ist und somit sich also ein UPDATE statt DELETE ergeben würde. Wenn es sich allerdings um nur ein Bild handelt, kann man auch löschen. Andererseits - du hast ja für etwas eine ID vergeben und über ein UPDATE würdest du die Datenbank bzgl. dem hochzählen schonen und den belegten Platz könntest du später mit einem neuen Bild versehen anstatt eines kompletten Neueintrag in die Tabelle.
     
    #13      
x
×
×