php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-12-2007, 02:52
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Bildnamen wählen

Für ein neue Projekt überlege ich schon seit längerem über die Namen der Bilder nach.
Bei meinem alten Projekt hatte ich sie immer so benannt:
pics/16/61/1661_1_t.jpg

Bilderorder/die vorletzten 2 Zahlen der id/die letzten beiden Zahlen der Id/id_Bildnr_Größe.jpg
Damit wurden die Bilder immer in verschiedene Order verteilt und lief soweit auch wunderbar.
Der Vorteil: Ich brauchte die Namen der Bilder nicht in einer DB speichern.

Doch beim neuen Projekt möchte ich die Bildernamen so gestalten, das man sie nicht erraten kann.
Klar, ich könnte sie in eine DB packen. Und die ausgabe über eine image.php realisieren, die die Bilder jeweils mit einem md5 Namen aus der Db holt.

Aber wenn ich auf einer Seite 50 Bilder anzeigen lassen möchte, erzeugt diese image.php ja 50 SELECT Abfragen um die Bilddaten zu ermitteln. Das schreckt mich bisschen ab.

Wie würdet Ihr vorgehen, wenn ihr Bilder speichern müßt, wo man die Bildnamen nicht erraten darf? Und wo die Bilderausgabe auch bei vielen Bilder kein Problem ist.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #2 (permalink)  
Alt 25-12-2007, 04:11
aXu
 Newbie
Links : Onlinestatus : aXu ist offline
Registriert seit: Oct 2007
Ort: CH
Beiträge: 47
aXu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ich das richtig verstehe mach einfach noch ne zufallszahl rein.

pics/16/61/1661_1_t_{zufallszahl(en)}.jpg
Mit Zitat antworten
  #3 (permalink)  
Alt 25-12-2007, 04:47
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hey, super. So einfach und effektiv. Ja sowas hatte ich gesucht. Ich nehme einfach md5 des Datums und schon habe ich ein guten code.

pics/16/61/1661_1_t_{md5(datum)}.jpg

Fertig. Dann kann keiner ein Foto erraten und ich brauche weder die Bilder noch die Bildernamen extra in eine DB speichern.

Danke.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #4 (permalink)  
Alt 25-12-2007, 08:32
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von martinm79
md5 des Datums ...
Dann kann keiner ein Foto erraten ...
Naja, kann man schon. Aber es wird sich wohl keiner die Mühe machen.
Mit Zitat antworten
  #5 (permalink)  
Alt 25-12-2007, 22:54
zaubatrik
 Newbie
Links : Onlinestatus : zaubatrik ist offline
Registriert seit: Aug 2006
Beiträge: 22
zaubatrik ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nabend,

wenn ich heute ein Bild nach dem Schema abspeicher und es dann drei Tage später aufrufen möchte, hab ich doch eine andere MD5-Summe als noch vor drei Tagen. Sprich Du könntest doch nur die Bilder aufrufen welche am heutigen Tag erstellt wurden. Also wirst Du um eine Speicherung des Datums doch auch nicht drum rum kommen. Und dann kannst Du auch gleich den Dateinamen abspeichern.

Oder hab ich was nicht mitbekommen?
Mit Zitat antworten
  #6 (permalink)  
Alt 26-12-2007, 16:59
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Du nimmst doch nicht das heutige Datum, sondern das Datum, an dem du das Bild erstellt hast.
Mit Zitat antworten
  #7 (permalink)  
Alt 26-12-2007, 19:55
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
Du nimmst doch nicht das heutige Datum, sondern das Datum, an dem du das Bild erstellt hast.
(Zumindest *sollte* er das ;D )
Mit Zitat antworten
  #8 (permalink)  
Alt 26-12-2007, 22:24
zaubatrik
 Newbie
Links : Onlinestatus : zaubatrik ist offline
Registriert seit: Aug 2006
Beiträge: 22
zaubatrik ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nur dann muss er doch schon wissen an welchem Tag er es erstellt hat. Sprich das muss doch irgendwo hinterlegt sein. Demzufolge kann er doch gleich den Bildnamen abspeichern.

Oder stehe ich jetzt total auf dem Schlauch?
__________________
screennetz.de
Mit Zitat antworten
  #9 (permalink)  
Alt 27-12-2007, 01:51
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das Datum ist aber auch für andere Dinge brauchbar, während der Dateiname in der Datenbank eigentlich nur unnötig Speicher frisst und auch ohne Probleme live berechnet werden kann~
Mit Zitat antworten
  #10 (permalink)  
Alt 27-12-2007, 10:42
zaubatrik
 Newbie
Links : Onlinestatus : zaubatrik ist offline
Registriert seit: Aug 2006
Beiträge: 22
zaubatrik ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok wenn man es ganz genau nimmt stimmt das schon. Aber eine Spalte mehr oder weniger macht den braten aus meiner Sicht nun auch nicht mehr sonderlich fett.
__________________
screennetz.de
Mit Zitat antworten
  #11 (permalink)  
Alt 27-12-2007, 11:51
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, es ist schon deutlich mehr an Platzverbrauch... wenn man sich überlegt, was sonst noch so gespeichert wird, kann ein 20-30 stelliger String da locker ein Drittel bis Viertel vom Datensatz sein, demnach auch ein Drittel bis Viertel von der Tabelle.
Das ist bei vollkommen unterbelasteten Dedicated Servern, die 20*2MB Tabellen haben mit Queries, wo jeder normale DBA mit den Ohren auf der Tischplatte klebt, vollkommen egal; aber wenn die Tabelle dann auf einmal 500 MB hat, dann wären das schon 100 bis 200 MB und wenn es mehrere von der Sorte gibt...
Wie gesagt, ich persönlich tendiere dazu Tabellen möglichst von Anfang an zu optimieren, aber für die meisten Websiten hat das ungefähr so viel Relevanz wie das Wetter draußen - schlichtweg weil sie niemals eine Größe erreichen werden, wo der Server mal an seine Grenzen stößt~
Mit Zitat antworten
  #12 (permalink)  
Alt 02-01-2008, 16:49
martinm79
 Registrierter Benutzer
Links : Onlinestatus : martinm79 ist offline
Registriert seit: Jan 2004
Ort: Deutschland
Beiträge: 744
martinm79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Genauso sieht es aus. Wenn es nur 20 oder 1000 Bilder sind, ist das kein Problem den Namen zu speichern. Wenn es aber größere Ausnahmen nimmt, wäre ein gutes System besser um die Namen zu bilden.

pics/16/61/1661_1_t_{md5(datum)}.jpg

Das Datum nehme ich natürlich nicht von heute, sondern der Datensatz zu dem das Foto gehört, hat ein Datum, welches sich nicht ändert. Daraus nehme ich den md5 String. Das Datum brauche ich sowieso und denn kann ich es gleichzeitig als Namen verwenden.

Wenn ein Bild so heißen würde:
pics/16/61/kabjsowkau7skwohsndzhekd.jpg

Dann könnte man das Bild keinem Datensatz zuordnen.
So:
pics/16/61/1661_1_t_{md5(datum)}.jpg
Kann ich sogar den Datensatz zuorden.
Im Ordner hau ich noch eine .htaccess und fertig. Klar kann man das Bild erraten, aber bei 32 String wozu der Aufwand.

Wenn ich ein Bild erst freischalten möchte, schiebe ich alle Bilder erstmal in einen Ordner
pic/noch_freischalten/1661_1_t_{md5(datum)}.jpg

Dann kann ich alle Bilder durchgehen und auch freischalten. Weil ich da die id des Datensatzes am Anfang der Datei habe, kann ich es gezielt verschieben.
Eine super Lösung.

Ich könnte die Bilder zwar in einer Tabelle aufzeichen, aber denn nur für mich zur übersicht und administration. Zum Betrieb kann ich die Abfrage sparen.
__________________
Gut geraten ist halb gewußt.
Mit Zitat antworten
  #13 (permalink)  
Alt 19-01-2008, 20:33
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard

Da ich mich zur zeit auch mit dem Thema beschäftige hätt ich dann aber noch ne kleine Frage zu der Sache:

Was mach ich wenn ich jetzt noch ne Bildkommentar speichern möchte?
Dann komm ich doch ansich nicht drum rum den Dateinamen samt kommentar in der DB abzuspeichern oder irre ich mich da?
__________________
Geht net gibts net...
Mit Zitat antworten
  #14 (permalink)  
Alt 20-01-2008, 14:13
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Was mach ich wenn ich jetzt noch ne Bildkommentar speichern möchte?
Den speicherst du ganz normal mit dem Datum und dem Uploader usw. in der Datenbank. Das Bild (und der Dateiname/pfad) bleibt im Dateisystem.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #15 (permalink)  
Alt 20-01-2008, 16:28
deschmiddi
 Junior Member
Links : Onlinestatus : deschmiddi ist offline
Registriert seit: Jan 2003
Beiträge: 158
deschmiddi ist zur Zeit noch ein unbeschriebenes Blatt
deschmiddi eine Nachricht über ICQ schicken
Standard

ei ob ich jetzt es Datum oder den Dateinamen in der DB ablegen spielt doch dann ansich keine Rolle. Versteh den Sinn irgentwie nicht.
Sorry wenn ich irgentwie bischen auf em Schlauch stehe. Irgent was muss ich ja zu der Datei abspeichern. Entweder ich baus datumund id im dateinamen ein und lege die beiden werte in die db, oder ich lege gleich den Dateinamen rein. Wo liegt da denn der unterschied?
__________________
Geht net gibts net...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:35 Uhr.