使用php传递大数据exec函数的难题

时间:2018-11-10 21:52:06

标签: javascript php python

我已经在使用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)

那我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用json_encode函数解决了问题。