function test_result($x, $filename, $code2test) { $tmp_code = str_replace('#NUM', $x, $code2test); $full_file_name = $filename . '_4test-' . $x; write_src_file($full_file_name . '.pas', $tmp_code); shell_exec('fpc temp/' . $full_file_name . '.pas'); $res = shell_exec('temp/' . $full_file_name); //Xoa cac ky tu trang di cho nhe: $res = trim($res); //Xoa tep sinh ra de Test: remove($full_file_name); //Runable remove($full_file_name . '.o'); //Link object remove($full_file_name . '.pas'); //Source code return $res; }
require 'libs/filelib.php'; // Nhung filelib php vao file require 'libs/functions.php'; $content = $_POST['code']; // Lay code cua nguoi dung nhap $filename = $_POST['filename']; //Lay ten tep tin chua code nguoi hoc $exer_id = isset($_POST['exer_id']) ? $_POST['exer_id'] : ''; // Ham isset cua PHP kiem tra bien co null khong de tranh loi if ($exer_id > 2) { $code = code_to_compile($content); $code2test = code_to_test($exer_id, $content, $filename); $testfilename = str_replace('.pas', '_4test.pas', $filename); $check = write_src_file($filename, $code); write_src_file($testfilename, $code2test); } else { $check = write_src_file($filename, $content); } if ($check > 0 && strlen($filename) > 0) { $res = shell_exec('fpc temp/' . $filename) . ''; // Ham shell_exec goi lenh compile $pos = strpos($res, 'Error'); if ($pos > 0) { $res = 'Có lỗi, bạn hãy kiểm tra lại mã Pascal!!!<br/>----------<br />' . substr($res, $pos, -1); } else { $res = 'Biên dịch thành công.'; } echo $res; } else { echo 'Compile Error!!'; }