Umlüx
Huge Metal Fan
|
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  und daher auf eure hilfe angewiesen.
|
HaBa
VereinsmitgliedDr. Funkenstein
|
irfanview kann sowas => vielleicht als Umweg nutzbar? (weiß nicht ob man es mit param steuern kann.
|
Umlüx
Huge Metal Fan
|
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
VereinsmitgliedDr. Funkenstein
|
Ich meinte nur zum thumb-machen => das geht vielleicht schneller als die jetzige Lösung => keine timeout-probs
|
Umlüx
Huge Metal Fan
|
aso. hm mal schaun. bisher verwend ich ja imagemagick. die angeträumte JS lösung wär dennoch ein hit für mich
|
jives
And the science gets done
|
aso. hm mal schaun. bisher verwend ich ja imagemagick. die angeträumte JS lösung wär dennoch ein hit für mich  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
|
weil ein kollege mit dem wunsch gekommen ist nach jedem bild eine erfolgsmeldung auszugeben, bzw den vorgang auch mal abbrechen zu können.
|
spunz
ElderElder
|
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
|
danke für die vielen alternativen. wenn mir jetzt noch jemand beim problem ansich weiterhelfen könnt wär das super
|
jives
And the science gets done
|
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
|
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
|
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
|
Kein guter Vorschlag?
|
Umlüx
Huge Metal Fan
|
ich probier grad in die richtung herum  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
|
ich probier grad in die richtung herum 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. 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
|