2014-11-16 63 views
-1

大家好,我是新的服務器的東西,糾正我,如果我有任何下面的錯誤。在linux服務器上運行C程序

我最近設置了一個linux服務器供用戶上傳他們自己的文件。用戶可以通過專用網頁訪問服務器,登錄,上傳和恢復服務器上的任何文件。該網頁包含簡單的html,css和php腳本。

同時我得到一個C程序,它可以幫助壓縮文件的大小。該程序還不是可執行文件,而是一堆.c和.h文件。我試圖在Linux中創建所有文件並將C程序實現到服務器,並希望在用戶上傳的文件存儲在服務器中之前自動壓縮該用戶。

但是我不確定如何調用網頁中的C程序....感謝任何意見和指導,謝謝!

+0

我不知道..但你需要的是如果你需要執行你「三來從網頁執行C程序.. –

+0

'來自HTML的代碼。如果是這樣,那麼你可以使用PHP來這樣做,它有** exec ** [function](http://php.net/manual/en/function.exec.php),使用這個你可以調用gcc來運行你的C代碼 –

+0

如果你想壓縮用戶上傳的文件,你可以使用'gzip'或'zip'。大多數Linux發行版至少有gzip。請注意,允許用戶將任何內容上傳到服務器並進行編譯將被某些人看作是將服務器分解並轉換爲服務器的邀請。 – Paul

回答

0

如果您使用PHP,那麼我會建議shell_exec功能,

shell_exec('gcc yourfile.c -o someobjectfile'); 

output=shell_exec('./someobjectfile'); 

echo "<pre>$output</pre>"; 
+1

有幾件事情:首先,這會一遍又一遍地編譯文件,在第一次之後可能不需要;此外,如果允許用戶上傳正在編譯的內容,這可能是一個**巨大的安全漏洞。這也不是你的錯,僅供下一位讀者考慮。 – Paul

+0

我知道@保羅,但根據他的要求,這是我的答案。 – Skynet

相關問題