Hallo zusammen,
ich habe einen Ordner mit ein paar Hundert Bildern. Informationen (höhe, Breite, Dateiname, Dateigröße) sollen in eine MySQL-Tabelle eingefügt werden. Ich suche nach einer Möglichkeit, mit der ich die INSERT Anweisungen in eine Textdatei schreiben lassen kann, um diese später in die DB einzulesen.
Die Befehle file und find -printf liefern schon irgend wie die Infos - aber wie kann ich daraus oder mit einem besseren Weg die INSERT Anweisungen erstellen?
Danke im Voraus für eure Hilfe.
VG Simon
Informationen über Bilder in MySQL-DB schreiben
Hi nepos,
danke für deine Antwort. Perl kann ich leider nicht - nur PHP.
Der Befehl find in Verbindung mit -fprint ist ja schon gut. Da kann ich ja schon fast alles machen nur eben die Höhe und Breite des Bildes nicht einfügen. Kann man da nicht einen Weg finden, den Befehl file aufzurufen und aus dem Ergebnis Höhe und reite Brauszuholen?
Ich könnte natürlich auch ein kleines PHP-Skript in Verbindung mit scandir() und getimagesize() oder so schreiben. Dachte aber, dass das vielleicht über die Konsole geht und ich dabei auch noch was neues lernen kann.
VG Simon
danke für deine Antwort. Perl kann ich leider nicht - nur PHP.
Der Befehl find in Verbindung mit -fprint ist ja schon gut. Da kann ich ja schon fast alles machen nur eben die Höhe und Breite des Bildes nicht einfügen. Kann man da nicht einen Weg finden, den Befehl file aufzurufen und aus dem Ergebnis Höhe und reite Brauszuholen?
Ich könnte natürlich auch ein kleines PHP-Skript in Verbindung mit scandir() und getimagesize() oder so schreiben. Dachte aber, dass das vielleicht über die Konsole geht und ich dabei auch noch was neues lernen kann.
VG Simon
Informationen über Bilder in MySQL-DB schreiben
Hallo tsibi,
falls Du Dich noch mit dem Thema beschäftigst; hier ein Ansatz:
Das wird dann mit scriptname grafikdatei aufgerufen und schreibt
die Werte in die Datei fuer_mysql.txt. Wenn Du das dann noch in
ein "for x in ..." reinpackst hast Du eine Textdatei, die Du in
Mysql einlesen kannst.
Gruß
Matthias
falls Du Dich noch mit dem Thema beschäftigst; hier ein Ansatz:
Code: Alles auswählen
#!/bin/bash
datei=$1
werte=`identify $datei | awk '{print $3}'`
breite=`echo $werte| sed 's/[^0-9]/ /g' | awk '{print $1}'`
hoehe=`echo $werte | sed 's/[^0-9]/ /g' | awk '{print $2}'`
echo $breite $hoehe >> fuer_mysql.txt
die Werte in die Datei fuer_mysql.txt. Wenn Du das dann noch in
ein "for x in ..." reinpackst hast Du eine Textdatei, die Du in
Mysql einlesen kannst.
Gruß
Matthias