Я использую 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, хотя.
Когда ты serialize
некоторое значение — в результирующей строке есть тип значения и само значение. s:122
Вы спросили, говорит, что значения sтринг с длиной 122
, Поэтому, если вы не хотите, чтобы эта строка появлялась — не сериализуйте значение.
Других решений пока нет …