shell — дополнительный текст поступает из команды shell_exec при выполнении из переполнения стека

Я использую s3cmd для передачи файлов из AWS на мой сервер Ubuntu.

s3cmd get s3://bucket/filename newfilename

Он отлично работает при запуске из терминала Ubuntu.

Но когда я бегу с PHP, как показано ниже

$query1 = 's3cmd get s3://bucket/filename newfilename';
$q1 = serialize(shell_exec($query1));
$data2 = array( 'data' => $q1);
header('Content-type: application/json');
echo json_encode( $data2 );

Это работает, но ответ от json_encode соединяется с дополнительным текстом.

{"data":"s:122:\"File s3:............

Что такое s: 122 и как это убрать. Я не ищу sub_string, хотя.

2

Решение

Когда ты serialize некоторое значение — в результирующей строке есть тип значения и само значение. s:122Вы спросили, говорит, что значения sтринг с длиной 122, Поэтому, если вы не хотите, чтобы эта строка появлялась — не сериализуйте значение.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]