2014-01-30 75 views
0

是否可以調用.exe(控制檯應用程序)並在我的網頁上實時獲取控制檯輸出?可能執行.exe並在html中獲取控制檯輸出?

我知道PHP的命令shell_exec()函數。有了這個,我可以執行我的.exe。但如果控制檯的輸出將顯示爲HTML代碼,那將會很好。用這種方式,用戶總是知道應用程序的確切狀態。

如果這是可能的,你能給我任何關鍵字我怎麼可以搜索它?

編輯: 我要上傳一個視頻文件。

HTML:

 <form action="upload_file.php" method="post" 
     enctype="multipart/form-data"> 
     <input type="file" name="file" id="file"><br> 
     <input type="submit" name="uploadbtn" value="Upload Video"> 

這個文件去PHP腳本進行驗證:

PHP腳本:

if (in_array($extension, $allowedExts)) 
    { 
    echo "<p>"; 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 

    if (file_exists("../Videos/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "../Videos/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "Videos/" . $_FILES["file"]["name"]; 

     $output = shell_exec("Extractvideo.exe $_FILES["file"]["name"]"); 
     echo "<pre>$output</pre>"; 
     } 
    ?> 
     <p>File erfolgreich hochgeladen!</p> 
     <br/> 
     <a href="watch.php">Hier gehts zur Videoliste</a> 
     <?php 
    } 
    echo "</p>"; 
    } 
else 
    { 
    echo "Invalid file"; 
    }    
?> 

我得到以下輸出:

上傳:ELL_PART_5_768k.wmv類型:video/x-ms-wmv尺寸:12964.57421875 kB存儲於:視頻/ ELL_PART_5_768k.wmv

文件erfolgreich hochgeladen!

我的「Videoextract.exe」確實轉換視頻。 它正在轉換它提供有關它的實際狀態的信息。

示例控制檯應用程序:

Video is going to be rendered 
20% 
40% 
60% 
80% 
100% 
Success! 

這將是很好,如果用戶能得到的控制檯應用程序的輸出實時

因爲我的控制檯應用程序有一個內置的錯誤處理程序。所以我可以在控制檯應用程序中返回任何錯誤,而不是用PHP重寫。

另外,如果用戶可以看到整個過程,那麼他知道它什麼時候結束了。

如果我使用

<?php 
$output = shell_exec('Extractvideo.exe'); 
echo "<pre>$output</pre>"; 
?> 

該腳本會等到它完成,然後返回最終的字符串。但那不是我的真實時間!

+2

只需輸出並將其格式化爲HTML即可。有什麼問題?請參閱文檔中的示例:http://php.net/shell_exec –

+2

輸出的格式是什麼?它是什麼樣子的? –

+1

我的印象是,如果你正在嘗試像捕獲ANSI轉義代碼,全屏幕輸出或圖形輸出這樣的高級東西......你會明確提到它。請讓你自己熟悉shell執行函數的基本用法,並且當你的代碼有精確的問題時可以自由發佈。 –

回答

相關問題