Wie würde ich dies als PHP-Skript umschreiben. Auch wenn jemand einen besseren Weg als LAME kennt, lass es mich wissen.Ein Bash-Skript zu PHP umschreiben?
for i in *.wav; do
lame -h -b 192 "$i" "${i%.wav}.mp3"
done
Wie würde ich dies als PHP-Skript umschreiben. Auch wenn jemand einen besseren Weg als LAME kennt, lass es mich wissen.Ein Bash-Skript zu PHP umschreiben?
for i in *.wav; do
lame -h -b 192 "$i" "${i%.wav}.mp3"
done
Die einfache Rewrite wäre:
<?php
foreach(glob('*.wav') as $i){
exec('lame -h -b 192 ' . escapeshellarg($i) . ' ' . escape_shellarg(basename($i, '.wav') . '.mp3'));
}
Natürlich bietet es keinen Vorteil gegenüber der Shell-Skript ;-)
Edit: Ich bin mit bash nicht beherrschen, aber ich ${i%.wav}
vermuten kann das .wav
Suffix entfernen; Ich habe den PHP-Code entsprechend geändert.
Es wird 'sh -c' einmal für jede Datei ausgeführt. Es ist ein kleiner Overhead im Vergleich zu laufen natürlich lahm, aber es ist verschwendete Wärme. :) – sarnold
Sie müssen den lame
Befehl in der Shell sowieso auszuführen, so gibt es keine Verwendung dafür. Wenn Sie die Verarbeitung von PHP kicken müssen, führen Sie einfach das gesamte Skript von PHP aus.
+1 Guter Punkt. Dennoch möchte er vielleicht die Liste der Dateien innerhalb von PHP steuern, um mit dem Benutzer oder etwas zu interagieren, so dass die Antwort von @ AntonioCS auch gilt: –
Warum würden Sie das in PHP verwenden? Sie könnten dieses Shell-Skript einfach mit ['exec()'] (http://php.net/exec) oder ähnlichem aufrufen. – jwueller