繁体   English   中英

从 php 执行时,额外的文本来自 shell_exec 命令

[英]Extra text comes from shell_exec command when executed from php

我正在使用 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 ,你问过,说 values 是一个长度为122字符串。 所以如果你不想出现这个字符串——不要序列化值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM