Doedelpumpe
Neuer Benutzer
- Beiträge
- 3
Hey Leute,
ich schreibe gerade an einem PHP-Skript /-Website mit dem ein Ordner auf dem Server samt Unterordner nach Musik durchsucht wird. Dabei untersucht das Skript die Dateien auf Tags (mit getid3). Alle gefundenen Musikdateien möchte ich daraufhin in einer Song-SQL-Datenbank auflisten.
Also: Datei gefunden -> Tags auslesen -> mysqli_query(conn, "INSERT ...;") -> nach nächster Datei gucken.
Dabei habe ich jetzt verschiedene Probleme.
1.) Zu lange Pfadnamen?
Ich hatte einen Ordner mit einem langen Namen und darin wurde nur eine (die erste) Datei in die SQL-Datenbank eingelesen. Alle anderen Dateien haben auch den Query gesendet (zumindest kann ich mir den Query-Text direkt vor dem absenden an SQL korrekt ausgeben lassen) aber MySQL hat es aus irgendeinem Grund nicht verarbeitet. Ich habe schon versucht das max_allowed_packet zu erhöhen aber das zeigte auch keinen Erfolg. Und ich bin mir auch nicht sicher ob es daran liegen kann, da die erste Datei im Ordner in die Datenbank eingelesn wird. Ich frage mich ob es eine Art SpamSchutz von MySQL gibt der zu viele Anfragen auf einmal abblockt o.ä.? Oder woran könnte das liegen?
2.) Dateinamen mit einem Apostroph?
Als ich dem zuvor beschriebenen Ordner einen kürzeren Namen gab (Test), wurden fast alle Dateien in die SQL-Datenbank eingelesen. Nur 2 von 100 Dateien widersetzten sich. Mir fiel auf, dass beide Dateien ein Apostroph im Künstler oder Titel haben. Dies könnte natürlich bei einem Befehl, der mit Apostrophen gesäht ist zu Problemen führen? Leider kann man sich aber nicht immer aussuchen wie Künstler oder Lieder heißen. Was kann ich dagegen tun? Muss ich die Problemfelder umbennen bevor ich sie an sql weitergebe?
Ich habe das jeweils lokal getestet. Einmal auf einem RaspberryPi3B mit Raspbian und einmal auf einem WindowsRechner mit XAMPP. Letztlich soll das Projekt auf dem RaspberryPi laufen und ohne Monitor auskommen. Daher wäre eine Umsetzung mit PHP wünschenswert, da für das Projekt eine Homepage unabdingbar ist ^^
Ich hoffe ihr könnt mir weiterhelfen. Wenn ich irgendwelche essentiellen Informationen unterschlagen habe, sprecht mich gerne darauf an.
ich schreibe gerade an einem PHP-Skript /-Website mit dem ein Ordner auf dem Server samt Unterordner nach Musik durchsucht wird. Dabei untersucht das Skript die Dateien auf Tags (mit getid3). Alle gefundenen Musikdateien möchte ich daraufhin in einer Song-SQL-Datenbank auflisten.
Also: Datei gefunden -> Tags auslesen -> mysqli_query(conn, "INSERT ...;") -> nach nächster Datei gucken.
Dabei habe ich jetzt verschiedene Probleme.
1.) Zu lange Pfadnamen?
Ich hatte einen Ordner mit einem langen Namen und darin wurde nur eine (die erste) Datei in die SQL-Datenbank eingelesen. Alle anderen Dateien haben auch den Query gesendet (zumindest kann ich mir den Query-Text direkt vor dem absenden an SQL korrekt ausgeben lassen) aber MySQL hat es aus irgendeinem Grund nicht verarbeitet. Ich habe schon versucht das max_allowed_packet zu erhöhen aber das zeigte auch keinen Erfolg. Und ich bin mir auch nicht sicher ob es daran liegen kann, da die erste Datei im Ordner in die Datenbank eingelesn wird. Ich frage mich ob es eine Art SpamSchutz von MySQL gibt der zu viele Anfragen auf einmal abblockt o.ä.? Oder woran könnte das liegen?
2.) Dateinamen mit einem Apostroph?
Als ich dem zuvor beschriebenen Ordner einen kürzeren Namen gab (Test), wurden fast alle Dateien in die SQL-Datenbank eingelesen. Nur 2 von 100 Dateien widersetzten sich. Mir fiel auf, dass beide Dateien ein Apostroph im Künstler oder Titel haben. Dies könnte natürlich bei einem Befehl, der mit Apostrophen gesäht ist zu Problemen führen? Leider kann man sich aber nicht immer aussuchen wie Künstler oder Lieder heißen. Was kann ich dagegen tun? Muss ich die Problemfelder umbennen bevor ich sie an sql weitergebe?
Ich habe das jeweils lokal getestet. Einmal auf einem RaspberryPi3B mit Raspbian und einmal auf einem WindowsRechner mit XAMPP. Letztlich soll das Projekt auf dem RaspberryPi laufen und ohne Monitor auskommen. Daher wäre eine Umsetzung mit PHP wünschenswert, da für das Projekt eine Homepage unabdingbar ist ^^
Ich hoffe ihr könnt mir weiterhelfen. Wenn ich irgendwelche essentiellen Informationen unterschlagen habe, sprecht mich gerne darauf an.