【发布时间】:2015-12-16 16:36:14
【问题描述】:
我正在使用 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。
【问题讨论】:
-
为什么要序列化价值?
s:122是shell_exec($query1)返回值的长度 -
如果我没有序列化值,输出为空
-
shell_exec($query1)返回什么? -
文件 s3://bucket/folder/ih0wOlM4f8 保存为“tempmedia/ih0wOlM4f8”(4.3 秒内 4842585 个字节,1090.63 kB/s)
-
那么什么输出是空的?
标签: php shell ubuntu scripting s3cmd