Oto kod: (odwołania do borlanda są do dysku C: bo na razie ćwiczyłem na XAMPie):
<?php ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <title>Upload</title> </head> <body> <!--Formularz do uploadu--> <div> <form enctype="multipart/form-data" action="#" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <input name="plik" type="file" /> <input type="submit" value="Upload" /> </form> </div> <?php //zmienne dotyczące załadowanego pliku $plik_tmp = $_FILES['plik']['tmp_name']; $plik_nazwa = $_FILES['plik']['name']; $plik_rozmiar = $_FILES['plik']['size']; move_uploaded_file($plik_tmp, "upload/$plik_nazwa"); //aby zadziałało, w katalogu głownym serwera (dla Apacha - htdocs) musi być katalog /upload echo "Plik: <b>$plik_nazwa</b> o rozmiarze <b>$plik_rozmiar bajtów</b> został przesłany na serwer!<br><br>"; //Lisintg programu foreach($lines as $line) //Kompilator exec("C:/Borland/BCC55/Bin/bcc32.exe -eC:/xampp/htdocs/upload/".$plik_root.".exe C:/xampp/htdocs/upload/".$plik_nazwa,$kompilator); //uruchomienie kompilatora (tak jak z linii komend) //Uruchomienie programu } elseif($plik_tmp) echo "Plik: <b>$plik_nazwab NIE</b> został przesłany na serwer!"; //w przypadku, gdy plik nie zostanie przesłany (np: zbyt duży rozmiar) ?> </body> </html>
Jak tam zuploaduje program w C++, który wypisuje tak to zmienna program (jako tablica) będzie zawierała tak i tak zostanie wypisane. Co jeśli program miałby w sobie wczytywanie. Chciałbym, żeby na serwerze znajdował się jakiś plik test.txt, który zawierałby dane wejściowe. Proszę Was o pomoc w poprawce mojego kodu, aby uruchomić program który został skompilowany dla tego testu i wypisać wynik jego działania dla tego testu.
Przykładowo uploaduję program mnożący liczbę przez 2. I w pliku test mam liczbę 3. Chcę tak napisać funkcję exec, aby dla liczby 3 (plik test.txt) program działając w tym przypadku zwrócił 6. Proszę wytłumaczcie mi jak to zrobić i zapodajcie jeszcze coś o funkcji exec, bo zasoby google są w tej sprawie marne ...