Ich habe einen cron-Job hinzugefügt ein Skript nach jeweils 10 Minuten auszuführen, wird das Skript überprüft, ob die jede neue Datei in dem Verzeichnis hochgeladen, wenn es eine neue Datei ist dann wandelt es die Videodatei auf eine kleine Größe, wie ich in dem Befehl gegeben haben ..Dateikonvertierung jeder nach 10 Minuten cronjob
Unten ist der Code, den ich versucht habe, funktioniert alles, habe ich versucht, auch die E-Mail-Funktionalität hinzufügen und es funktioniert, aber ffmpeg Befehl nicht
$last = (int)file_get_contents('timestamp.txt');
file_put_contents('timestamp.txt', time());
$files = glob('videos/*.mp4');
$files = array_filter($files, function($file) {
return filemtime($file) > $last;
});
if ($files) {
foreach ($files as $sfile) {
$sfile = str_replace('videos/', '', $sfile);
$video = 'videos/'.escapeshellcmd($sfile);
$sixty = "videos/250/".escapeshellcmd($sfile);
$cmdform = "ffmpeg -i $video -vf scale=250:140 $sixty";
$do = `$cmdform`;
}
}
Ausführung
Eine weitere Sache ist, dass es die Dateien mit statischen Namen konvertiert, wenn ich "Videos/1.mp4" gebe, dann funktioniert es, funktioniert aber nicht in foreach-Schleife.
und Befehl cron-Job
*/10 * * * * wget http://mywebsite.com/coding.php
Vielen Dank zu setzen.
Tun Sie einige 'Echo' in der 'foreach'-Schleife zu überprüfen, ist es iteriert, drucken Sie auch $ do, um zu überprüfen, was die Antwort ist. –
Es druckt nichts, danke. Aber was ist die Lösung? – raman
statt 'echo' versuchen' error_log', & überprüfen Sie das Fehlerprotokoll. Ich denke, in der ersten Iteration ist etwas schiefgelaufen, was die Iteration stoppt. Zuerst muss man das Problem finden und dann an die Lösung denken. –