У меня уже есть проблема с использованием функции exec PHP. Моя идея — использовать PHP для выполнения файла python для записи файла с большим текстом, но когда PHP выполняет файл python, он просто пропускает только одну строку, и я уже использую функцию escapeshellarg php, но она не работал Мой код PHP
$user = \logined::name();
$data = escapeshellarg($_POST['data']);
exec( GOBA_PY_CMD."writefile " . $user . " ". $path . " ". $data ." ", $output, $return_var);
if ($return_var != 0) {
print json_encode(['status'=>false,'message'=>'Error while opening file']) ; // todo: handle this more styled
exit;
} else {
echo $output[0];
}
и мой файл Python
def writeSend(self):
if os.path.isfile(self.path):
print(self.data)
exit()
os.system("sudo -u "+self.user+" printf "+ self.data +" > "+ self.path)
data = {'status':True,'message':'success'}
jsondata = json.dumps(data)
print(jsondata)
else:
data = {'status':False,'message':'Failed','data':None}
jsondata = json.dumps(data)
print(jsondata)
Так как я могу решить эту проблему?
Проблема решена после использования функции json_encode.
Других решений пока нет …