"We are back" « oc.at

viele thumbnails im intranet erstellen

Umlüx 01.10.2007 - 10:27 1124 14
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
ich hab eine kleine bilddatenbank für unsere marketing gebastelt. die laden die bilder direkt in ein verzeichnis hoch und starten dann im intranet ein script welches das verzeichnis scannt, die bilddaten in eine DB verfrachtet und ein thumbnail erstellt. das ganze ist dann bequem brows- und durchsuchbar.
das ganze funzt zwar soweit aber wenn sie mal wieder 100 EPS auf einem sitz hochladen und das script starten bricht es natürlich alle paar bilder mal mit timeout ab. ich habs limit zwar schon auf 600 sekunden aber noch weiter möcht ich eigentlich nicht gehen. ich hätte gern eine andere, elegantere lösung.

mir schwebt da ein javascript vor das eben das verzeichnis scannt (bzw macht das schon php) danach für jedes bild das bildscript (eine php datei) aufruft, umwandelt und in die db stellt, eine erfolgsmeldung ausgibt und das nächste bild angeht. vielleicht sogar mit abbrechen button, aber das wär schon luxus.
leider bin ich der absolute JS nap :p und daher auf eure hilfe angewiesen.

HaBa

Vereinsmitglied
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19780
irfanview kann sowas => vielleicht als Umweg nutzbar? (weiß nicht ob man es mit param steuern kann.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
auch die daten in die db schreiben? ich möcht halt kein 3rd party tool nutzen müssen. zudem ein paar über pc und ein paar übern mac arbeiten. hätte es gern direkt übers php damit ich es schön in mein web frontend einbauen kann.

HaBa

Vereinsmitglied
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19780
Ich meinte nur zum thumb-machen => das geht vielleicht schneller als die jetzige Lösung => keine timeout-probs

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
aso. hm mal schaun.
bisher verwend ich ja imagemagick.
die angeträumte JS lösung wär dennoch ein hit für mich :D

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Zitat von Umlüx
aso. hm mal schaun.
bisher verwend ich ja imagemagick.
die angeträumte JS lösung wär dennoch ein hit für mich :D
Warum brauchst du dafür JS?
Das Script, das das Verzeichnis scannt könnte doch auch für jede Datei das Bildscript aufrufen, bzw. das Bildscript in weiterer Folge sich selbst. Wenn du jedes Bild einzeln abarbeitest sollte es ja auch keine Timeout-Probleme geben, weil das Script ja rechtzeitig fertig wird.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
weil ein kollege mit dem wunsch gekommen ist nach jedem bild eine erfolgsmeldung auszugeben, bzw den vorgang auch mal abbrechen zu können.

spunz

Elder
Elder
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11304
gallery.sf.net => bei gallery2 kannst du per webav (= os unabhängig) bilder/ordner hochladen, der rest geht automatisch. sollange der "upload" nicht abbricht, kann man von erfolg ausgehen.

von der bedienbarkeit ist gallery einfach optimal, auch die suche usw ist mit gallery relativ einfach.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
danke für die vielen alternativen.
wenn mir jetzt noch jemand beim problem ansich weiterhelfen könnt wär das super :p

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Kannst du genauer beschreiben, was du (wie) in JS implementieren willst?
Die Ausgabe nach jedem Bild muss ja sowieso vom Bildscript (php (?)) kommen, also bleibt für JS nur noch das Abbrechen.
Hab ich das richtig verstanden?

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
naja eine php mit dem JS liest das verzeichnis aus, macht also eine liste. das JS nimmt den ersten bildnamen her und schickts an das bildscript. dieses macht das thumb, trägt die daten in die datenbank ein. sobald das geschehen ist (und das ist der knackpunkt, wie frag ich das ab?) schreibt das JS im hauptscript "bild xxxxx erledigt" und schickt das nächste bild ans bildscript. das ganze abbrechbar wär ein tolles feature.
nur als verdeutlichung, die bilder sind zu 80% EPS dateien im 10-120 MB bereicht. da würde ein einzelscript schon mal eine viertelstunde blockieren bei 100 bildern.

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Idee:
Verzeichnis auslesen, Liste (Array) in einer Session-Variablen speichern, Bildscript aufrufen, das sich so lange selbst aufruft und den gerade bearbeiteten Eintrag (= Bild) aus der Liste löscht bis diese leer ist und jedes mal eine (Erfolgs-)Meldung ausgibt.
So bearbeitet das Script immer nur ein Bild, und du kannst dich zwischen den Aufrufen um die Kommunikation mit dem Benutzer kümmern.

Für die Kommunikation JS <-> php bin ich aber nicht der Richtige, jedoch würde das Ganze mMn auch komplett in php gehen ->
Abbruch per Formular mit Button. Den könntest du dann mit JS nur einmal anklickbar machen ;) weils ja eine Weile dauern kann, bis sich das Script wieder aufruft und das Formular überprüft.
Bearbeitet von jives am 01.10.2007, 22:25

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Kein guter Vorschlag?

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9035
ich probier grad in die richtung herum :D wenn sich das script selber aufruft ist der vorgang für den benutzer halt immer noch gleich unersichtlich was er grade macht bzw wie weit er fortgeschritten ist. vom abbrechen ganz zu schweigen, keine ahnung wie ich das hinschicken soll..

hängen tuts eigentlich nur noch an einer sache: wie ruf ich im JS eine seite auf, wart bis sie fertig ist, schließ sie wieder und ruf die nächste auf? ist das überhaupt möglich?

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Zitat von Umlüx
ich probier grad in die richtung herum :D wenn sich das script selber aufruft ist der vorgang für den benutzer halt immer noch gleich unersichtlich was er grade macht bzw wie weit er fortgeschritten ist. vom abbrechen ganz zu schweigen, keine ahnung wie ich das hinschicken soll..
Wenn du noch ein bisschen Zusatzinfo in der Session speicherst, kannst du elegant am Anfang des sich selbst aufrufenden Scripts (ist ja nach jedem Bild fertig und kann zwischendurch was ausgeben) die aktuelle Datei, alle fertigen Dateien und natürlich auch eine Anzeige in Prozent (mit gdlib auch einen schönen Balken) generieren.
Die Idee mit dem Abbrechen war Folgende: Im Script ist irgendwo ein Formular mit einem hidden-Field, welches über JS mit einem Button gesetzt wird (und sich der Button dann selbst deaktiviert, damit der Nutzer weiß, dass die Eingabe angekommen ist). Am Anfang des sich selbst aufrufenden Scripts kommt zusätzlich zu den Ausgaben wo es gerade herumwerkelt noch ein kleiner Check hinzu: Ist das Feld gesetzt? Wenn ja: Abbruch :)
Der tatsächliche Abbruch findet natürlich erst statt, wenn das Script mit dem aktuellen Bild fertig ist. Aber ich glaube das Problem wäre mit einer JS-Lösung das gleiche, weil du ja nicht einfach so das laufende php-Script killen kannst (bzw. fällt mir da nix ein), egal wer es aufruft.

Zitat von Umlüx
hängen tuts eigentlich nur noch an einer sache: wie ruf ich im JS eine seite auf, wart bis sie fertig ist, schließ sie wieder und ruf die nächste auf? ist das überhaupt möglich?
Leider kann ich nur mit solchen Ideen wie oben dienen - kenn mich mit JS praktisch überhaupt nicht aus - aber ich hoff es findet sich noch ein in JS Bewanderter ;)
Ich glaub aber halt, dass sich das in php-only lösen lässt, und du den Umweg über JS gar nicht zu gehen brauchst. Vor allem, da sich die Useability gar nicht oder kaum verbessert.
Oder wir schreiben an einander vorbei ;)
Bearbeitet von jives am 05.10.2007, 09:30
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz