2

おはようございます、

AJAX によって呼び出されるファイルから shell_exec を使用して FFMPEG を実行することに関して、すべての人にとって「思慮深い」「役立つ」質問をするために最善を尽くします。まず、現在のコードをリストすることから始めます。

AJAX スクリプト

        <script>
            var xmlhttp;
            if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
            }else{// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
              if (xmlhttp.readyState==4 && xmlhttp.status==200){
                  //Do something
              }
            }
            xmlhttp.open("GET","video_convert.php",true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xmlhttp.send(id=<?php echo $video_upload_result; ?>);
        </script>

PHPコード

$destination = "files/videos/";
$ffmpeg = '/ffmpeg/ffmpeg';
$videoid = mysql_clean($_GET['id']);

$sql = "SELECT file_name FROM cb_video WHERE videoid = '$videoid' ";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);

$file_old = glob('files/videos/'.$file_name.'.*');

shell_exec($ffmpeg." -i '/var/www/html/".$file_old[0]."' -ar 44100 /var/www/html/".$destination.$file_name.".flv");

FFMPEG は、サイトの他の場所で使用し、PuTTY を使用してファイル変換を試みたため、インストールされ、適切に動作しています。このサイトの別のインスタンスで行ったように、AJAX によって呼び出された PHP ファイルを実行できます。私が考えることができる唯一のことは、shell_exec が適切に実行されていないことです。これは、ajax によって呼び出される別のファイルにあるか、時期尚早に閉じられているためです。また、このコードをメイン ファイルでテストしましたが、このコードを含む別のファイルを呼び出そうとするまでは正常に動作します。

それで、私の質問は、このコードが実際に機能するかどうかです。

また、何らかの形で失敗した場合、質問を締めくくる前に、この委員会の質問に対する高い基準に適切に適合するように、質問を弁護または言い換える機会があれば、大いに感謝します。

ありがとうございました。

4

0 に答える 0