Hi - und gleich mal Danke für die langen Antworten :wink: .
@derdeagle:
Zitat von derdeagle:
Also folgender Code funktioniert bei mir einwandfrei: [...]
Ich probiere ihn gleich mal aus und editiere dann hier rein, ob dein Code funktioniert.
Edit1: Hat sich wahrscheinlich "leider" schon erledigt - siehe unten :glad: .
Zitat von derdeagle:
Probiers mal mit [...] echo $blubstr[1]; [...] Damit gibst du den ersten Treffer aus.
Danke für den Tipp, aber das hab ich oben zum vereinfachen nur raus gelassen.
Der komplette Code sieht so aus:
Code
(Also die echo´s kommen später wieder raus, sind nur zum testen drinnen.)
@HangMan:
Zitat von HangMan:
Für sowas bietet sich der Debugger von brauchbaren Entwicklungsumgebungen an ;-)
Ich hab´s mir aber auch echt viel schwieriger als nötig gemacht. Einfach weil ich mir den Fehler nicht erklären konnte und jedes Mal der Meinung war "So, jetzt lädste das noch ein oder zwei mal hoch, dann geht das schon...". Tja, wie das geklappt hat hab ich dann erst im Nachhinein gesehen :lol: .
Das schöne ist ja: Da wird eine Datei konvertiert. D.h. Eingangs-Datei neu hin kopieren und umbenennen (wird immer nach dem Konvertieren gelöscht, was ich einfach deaktivieren hätte können, Output löschen, weil sonst eine Fehlermeldung kommt - da hätte ich einfach automatisches Überschreiben aktivieren können und zusätzlich musste ich immer nach drei Versuchen die unvollständigen MySQL-DB-Einträge löschen, weil sonst keine neue Konvertierung mehr gestartet wäre... Eine Konvertierung dauert auch so ne Minute (flush(); geht nicht, da müsste ich vermutlich i-was am Apache umstellen) und dass ich bei jeder FTP-Übertragung immer gefühlte fünf Minuten warten durfte, bis FileZilla endlich wieder am
Server angemeldet war und der Dialog zum überschreiben auf ging, kommt dann halt auch noch dazu. - Ich hab dabei jedenfalls etwas gelernt :cool: :lol: .
Zitat von HangMan:
Zur Variablenausgabe solltest du IMMER var_dump() statt echo nutzen
Probier ich gleich mit aus, ob mir die Funktion mehr verrät.
Edit1: Die betreffende Ausgabe ist betreffenden Ausgaben sind (aus der Quellenansicht vom FF kopiert):
[code=sh]string(107) " Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
Duration: "
string(48) "00:03:51.82, start: 0.000000, bitrate: 866 kb/s
"[/code]
Jetzt wird mir so einiges klar :conf: . Oh man - ich wäre da ganz sicher nie drauf gekommen :lol: . Danke!
Zitat von HangMan:
Den Regulären Ausdruck würde ich anders aufbauen, wenn du genau weißt, dass 00:00:00.00 kommen muss. Und zwar solltest du die einzelnen Blöcke explizit so angeben, weil sonst auch 0:000:0.0000 matchen kann. In dem Fall zB durch "(\d{2}:){2}\d{2}.\d{2}" -- (Es sei denn, es ist so gewollt).
Es gibt zwei Formate - entweder das obige, oder einfach nur Sekunden mit "Nachpunktstellen" ohne Doppelpunkt.
Zitat von HangMan:
Falls die Daten in der Konsole ein anderes Encoding haben als dein PHP-Skript, halte ich das durchaus als mögliche Fehlerquelle. UTF-8 muss man zB meines Wissens nach explizit mit dem "u"-Modifikator (also quasi direkt vor oder hinter dem "i") angeben. [... => Bis Ende]
Ich hatte schon mal probiert utf8_decode(); anzuwenden, aber das war ohne Erfolg, ich werde es mit dem "u" nochmal probieren. Derzeit kann ich mir außer der Codierung auch nichts anderes vorstellen. Es kann aber dann eigentlich nur am ":", also dem Doppelpunkt liegen, denn der kommt beim zweiten preg_match(); ja nicht vor.
Edit1: Hat sich somit auch erledigt :wink: .
[h1]Edit2: Es geht!!! Juhuu :glad: ![/h1]