Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Bilderverzeichnis mit PHP (https://www.gegen-bilderklau.net/thread.php?threadid=157068)


Geschrieben von Kruemelletto am 08.06.2009 um 20:52:

  Bilderverzeichnis mit PHP

Hejho fröhlich

Ich war ganz glücklich als ich ein Tut über ein Bildverzeichnis mit Blätterfunktion auf http://alice-grafixx.de gefunden habe fröhlich Und in den Grundzügen funktioniert es auch ganz toll.
Klick hier!
Da wir eine neue Grafikseite aufbauen wollen aber wenig Ahnung von PHP haben (noch! ^_^) bräuchten wir etwas Hilfe.

Und zwar reicht dieser Tut zwar für Icons und Bases, aber wir bräuchten eine etwas erweiterte Variante - nämlich dass automatisch auch Links erzeugt werden, bei denen sich dann die Originalgrafik öffnet bzw. die dazugehörige HTML-Seite. Ersteres am besten in passendem Pop-Up (ohne wäre auch toll). Sehr anspruchsvoll, ich weiß ^_^

Etwas einfacher: Gibt es eine Möglichkeit, dass der Name des Autors angegeben wird? Und: Kann man die Icons automatisch anhand des Dateinamens o.ä. verschiedenen Kategorien zuordnen (also solchen wie im Dropdownmenü oben) oder muss ich das von Hand machen?

Schon mal Danke für die Hilfe <3
Kruemel



Geschrieben von cll am 10.06.2009 um 11:05:

 

Ich nehme mal an die Grafiken sind in einer Datenbank gespeichert?
Da kannst du eine Spalte Kategorie machen, nach der du sortierst (WHERE-Klausel) und eine Spalte Name, die du einblendest, eine mit dem Link zur Originalgrafik,... Das einzublenden ist dann nur HTML!



Geschrieben von Kruemelletto am 10.06.2009 um 17:12:

  RE: Bilderverzeichnis mit PHP

Zitat:
Original von Kruemelletto
Da wir eine neue Grafikseite aufbauen wollen aber wenig Ahnung von PHP haben (noch! ^_^) bräuchten wir etwas Hilfe.

Klingt gut auf jeden Fall =P Aber eine nähere Erkärung wäre sehr nett +duck+ gerne auch per ICQ!

Und Datenbank... Naja, halt in nem Ordner auf Ohost Ô_ô Zählt das? =P



Geschrieben von cll am 10.06.2009 um 22:01:

 

du meinst ihr ladet die Dateien per FTP hoch und wollt sie dann aber automatisch anzeigen lassen? sorry, aber das klappt fast nciht. Woher soll der Computer da wissen wers gemacht hat, welches Original dazugehört usw? Das kann man ja fast nicht im Dateinamen speichern.
Dann müsst ihr es wahrscheinlich per Hand dazuschreiben



Geschrieben von Kruemelletto am 11.06.2009 um 13:35:

 

Naja automatisch anzeigen funktioniert ja; Ich hatte mir nur gedacht, dass es irgendwie möglich sein muss, denn im Original-Code wurde beispielsweise der Alt-Text dadurch erzeugt dass alles vor dem Punkt als Alt-Text definiert wurde. Ich dachte das geht vielleicht auch mit Namen etc =P
Aber per Hand dazuschreiben, wie soll das funktionieren? Im Code wird ja nur der PHP-Teil angegeben, aber nichts in HTML-Form ;D

Und das Original: Gleicher Dateiname, nur andere Endung? Klappt das nicht?



Geschrieben von cll am 11.06.2009 um 13:44:

 

theoretisch kannst du das schon machen. Dass du zB die Dateinamen wie folgt definierst:

username_alttext.dateiname-thumb.jpg

und dann eben mit dem String bastelst: alles vor dem _ ist name.
den rest am . teilen: davor ist der alttext
das original bekommst du mit str_replace('-thumb', '', bildname_von_oben);

Fraglich ist bloß obs den Aufwand wert ist alle Bilder so zu benennen



Geschrieben von Kruemelletto am 11.06.2009 um 13:54:

 

Mh... wirklicher Aufwand die Bilder zu bennen ist das wohl weniger xDDD
Also den Alttext brauch ich ja nicht; ich bastel mal und wenns nicht klappt frag ich nochmal nach ^___^
Ich glaub das mit den kategorien lass ich wohl lieber. Oder gehts das auch mit dem Dateinamen? Wohl weniger...

Oh man bestimmt schütteln sich grad alle PHP-Könner. Aber egal XD Ich bin independent... +hust+
______________________________

Okay ich bin definitiv nicht geeignet .-. Ich weiß nicht wie ich es hinbekomme, dass der Teil zwischen _ und . als Text (hier als Titel) ausgegeben wird. ARGH!
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
// gibt nur das aus, was hinter dem .Punkt steht 
        $punkt strrchr($file'.'); 

        //Dateiendung herausfiltern 
       $title str_replace($punkt''$file); 

         
        // Grafik ausgeben 
            echo "<img class="data" src="$verzeichnis/$file" title="$title" />\n";
Wie schnippel ich jetzt noch den Teil vor dem _ weg? Hab bishher immer nur Codes für dahinter gefunden ._.



Geschrieben von Kruemelletto am 14.06.2009 um 10:27:

 

...? Hat keiner ne Idee? +schnief+
Ich bin mir nicht sicher ob ich das den Mit-Grafikeinnen beibrignen könnte dass wie ne Datenbank brauchen xD

---

Falls wir uns doch für eine Datenbank entscheiden würden - wärst du / jemand anderes bereit, uns am Anfang ein wenig zu helfen? ich verstehe meist recht schnell, nur brauch ich halt Denkanstöße xD



Geschrieben von cll am 14.06.2009 um 19:01:

 

klar kannst du alles in den Dateinamen packen. Du musst dann eben immer erst alle Dateien aufrufen, den Namensstring zerlegen und dann entsprechend einblenden oder nicht. Das ist auch vom Traffic her wahrscheinlich nicht besonders gut.
Ist bei deinem Webspace keine Datenbank dabei? Damit gehts nämlich viel einfacher!



Geschrieben von Kruemelletto am 15.06.2009 um 16:37:

 

Doch klar, ist ja bei Funpic/Ohost immer.
Ich denke ich probiers mit der Datenbank... Wenn ichs versteh Ô_ô



Geschrieben von cll am 15.06.2009 um 17:06:

 

wenn nicht, frag hier Augenzwinkern wenn man das Prinzip einmal verstanden hat ists supereinfach!



Geschrieben von Kruemelletto am 15.06.2009 um 17:36:

 

Okay ich glaub ich habs halbwegs hinbekommen +freu.wie.ein.schokokeks+ Hab auch schonmal ein Avatar eingetragen gehabt =P
Aber jetzt bin ich mal wieder bei meinen Namen +grins+ Bis jetzt erscheint nämlich nur die Grafik + Datum als Alt-Text (coole Sache xD). Jetzt soll eben noch der Name des Grafikers drunterstehen...

Die MySQL-Tabelle:
php:
1:
2:
3:
4:
5:
6:
CREATE TABLE `avatars` ( 
`idint(150unsigned NOT NULL auto_increment, 
`timestampint(150NOT NULL, 
`endungvarchar(10NOT NULLPRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=1;

Muss ich da einfach eine neue Zeile erstellen, z.B.
php:
1:
`nameint(150NOT NULL
?

Und: Könnte ich auch mehrere Grafiken auf einmal hochladen lassen, ohne mehrmals den Namen o.ä. eingeben zu müssen?

Und: Hier bin ich mir noch nicht ganz sicher wo der Teil mit dem namen hingehört xDDD
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
<?php 
    if (isset($_REQUEST["submit"])) { // Wenn Formular abgeschickt, dann.. 
        if(isset($_FILES["avatar"]["name"])) { // Wenn der Avatar auch wirklich ausgefüllt ist, dann.. 
            $endung strstr($_FILES["avatar"]["name"] , "."); // Endung des Avatars, Stringfunktion wo Punkt 
            include("db.php"); // db.php includen, um Verbindung zur Datenbank zu bekommen. 
            $eintrag "INSERT INTO avatars (timestamp, endung)  
            VALUES ('".time()."', '".$endung."')"// Eintragen in die Datenbank time() ist der Timestamp 
            $eintragen mysql_query($eintrag);  
            $id mysql_insert_id();  
            if (mysql_errno() == 0) { // Wenn MySQL keine Fehler hat dann.. 
                move_uploaded_file($_FILES["avatar"]["tmp_name"],"icons/".$id.$endung);
// Datei hochladen auf Namen: IdENDUNG in den Ordner icons 
                echo "<br />Icon wurde erfolgreich eingetragen!"; 
            } else { // Wenn MySQL Fehler.. 
                echo "Es ist leider ein Fehler aufgetreten "mysql_errno() .":
"mysql_error(); // Fehlerausgabe 
            } 
        } 
    } 
?>



Geschrieben von cll am 15.06.2009 um 18:14:

 

ja, aber nicht int sondern varchar. Natürlich solltest du auch den Dateinamen (nicht nur die Endung) speichern, auch als varchar. Oder wo hinterlegst du sonst die Dateien und wie verknüpfst du sie mit den Daten in der Datenbank?



Geschrieben von Kruemelletto am 16.06.2009 um 15:18:

 

Zitat:
Original von cll
ja, aber nicht int sondern varchar.

Okay ^^ Was bedeutet denn die Zahl?

Zitat:
Original von cll
Natürlich solltest du auch den Dateinamen (nicht nur die Endung) speichern, auch als varchar. Oder wo hinterlegst du sonst die Dateien und wie verknüpfst du sie mit den Daten in der Datenbank?

??? Es klappt ja so, will ja nur noch was hinzufügen...



Geschrieben von cll am 16.06.2009 um 19:00:

 

wenns klappt ists ok Augenzwinkern

das erste ist der Typ (int=ganze Zahl, varchar=Buchstaben), die Zahl ist die Länge des Feldes. Bei Endung würde dir also 4 reichen, den Namen solltest du länger machen



Geschrieben von Kruemelletto am 16.06.2009 um 20:42:

 

Also ich habs jetzt mal einfach so gemacht wie ich dachte xDDD Und es meldet zumindest keinen Fehler... Das eintragen klappt auch: http://bluebanana.bl.ohost.de/icons.php
Allerdings klappt das mit dem Namen noch nicht +schnief+
Zwar wird der Icon, wenn man einen Namen eingibt, auch richtig benannt, aber angezeigt wird er nur, wenn man den Namen weglässt. So wird das Icon ausgegeben:
php:
1:
echo "   <img src=grafiken/icons/".$row->id.$row->endung." border=0 alt='".date("d.m.Y",$row->timestamp)."'>

Wie füge ich da das $name noch ein? Bisherige versuche sind kläglich gescheitert...

Und leider auch alle Versuche, mit Hilfe einer If-Abfrage zu verhindern, dass kein Name eingetragen wird Ô_ô Stand zwar ne Meldung da, aber immer, und funktioniert hats trotzdem.
Muss ich was beachten? xD

Und ich bin zu doof um auf eine Lösung zu kommen, die Icons nebeneinander anzuzeigen; bisher sind alle untereinander...



Geschrieben von Kruemelletto am 18.06.2009 um 20:12:

 

Mhhhh... Keiner ne Antwort parat? +schnüff+



Geschrieben von cll am 19.06.2009 um 21:43:

 

was steht denn in der Spalte Endung?



Geschrieben von Kruemelletto am 20.06.2009 um 20:56:

 

Wiewowas Spalte Endung?

Ich brauch noch immer Hilfe, auch mit der If-Abfrage ob alles ausgefüllt ist - das is zwar eigentlich einfach, aber ich verraffs irgendwie xD
Und bei meiner Frage, ob man auch mehrer Bilder auf einmal hochladen kann.
Und wie man die Bilder nebeneinander anordnen kann.
Und wenn man noch eine Formularzeile Kategorie einfügt, ob man das dann auch als Kategorien anwählen kann.

MUHAAA! xD



Geschrieben von cll am 22.06.2009 um 13:36:

 

du hast doch noch probleme dass die Bilder nicht angezeigt werden? Deswegen wäre es gut wenn du mal in der Datenbank nachsiehst was in der Spalte 'Endung' in den Zeilen für werte sind (einer reicht mir)

klar kannst du die Kategorien anwählen. Du kannst beim Menülink zB link.php?wert=kategoriename schreiben, dann im Frame oben $wert=$_GET["wert"], dann hast du zB das Wort "kategoriename" in der Variable. Dann hängst du an die Abfrage SELECT ... from tabelle WHERE kategorie='".$wert."'
schon bekommst du nur die Ergebnisse die zu der Kategorie "kategoriename" gehören


Forensoftware: Burning Board, entwickelt von WoltLab GmbH