Сложная проблема с передачей функции exec больших данных с использованием php

У меня уже есть проблема с использованием функции 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)

Итак, как я могу решить эту проблему?

🤔 А знаете ли вы, что...
JavaScript является одним из трех основных языков веб-разработки, вместе с HTML и CSS.


39
1

Ответ:

Проблема решена после использования функции json_encode.