2011-04-19 4 views
0

하이어는 거래이다 : 나는 다음 명령을 내 파일을 변환 :는 FFmpeg PHP 변환은

$output = exec("ffmpeg -i ".$directory_path_full." -ar 22050 -ab 32 -f flv -s 320x240 ".$directory_path.$file_name.".flv"); 

하지만 지금은 처리가 끝날 때 해당 데이터베이스를 말할 필요가! 그렇게하는 방법? 변환이 완료되면 ,이 스크립트를 발견 1.

로 변환 데이터베이스 테이블 비디오 행에 삽입 :.... $ 출력 = shell_exec ('는 FFmpeg을'escapeshellarg ($의 directory_path_full를) ''escapeshellarg ($ DIRECTORY_PATH $ file_name. ".flv")));

어떻게 데이터베이스를 업데이트 완료 했습니까? 당신이 이렇게 기본적으로, 완료를 실행하든 때까지

+0

변환은되었지만 언제 완료되었는지 어떻게 알 수 있습니까? – Dakadaka

답변

0

exec()는 반환하지 않습니다 :

exec("ffmpeg blah blah blah", $output, $return_var); 

if ($return_val = "whatever value indicates success") { 
    ... update database to indicate success ... 
} 

일이 실제로 성공 여부를 확인 항상 데이터베이스를 업데이트 맹목적으로 변환이 성공 가정하지 마십시오.

+0

나는 exec와 함께 백그라운드에서 PHP 파일을 실행하고 있다고 생각한다. 누군가 영화를 업로드 한 다음 해당 페이지를 떠납니다. 나는 그것을 얻지 못한다. $ return_val의 statment가 백그라운드에서 작업을 수행하면 어떻게합니까? exacly 코드를 제공해주세요. – Dakadaka