通过curl将文件上传到亚马逊S3有额外的目录

时间:2018-02-06 21:23:33

标签: php curl amazon-s3 zip

我正在使用curl将一些压缩文件上传到亚马逊。一切都工作得很好但是当我去测试并下载新上传的.zip并解压缩它然后它有从我的本地计算机上创建.zip的路径:

/Users/my-computer/Desktop/myZips/nameofmyzip.zip

我不希望别人解压缩下载并查看所有这些额外目录。我已尝试将basename()用于我的$filePath,但之后我的脚本无法正常工作,因为它无法找到我文件的路径。

我的curl命令中的文件使用的是CurlFile:

$filePath = '/Users/my-computer/Desktop/myZips/'.$file.'';
$fileName = ''.$file.'';

$ch = curl_init('https://' . $bucket . '.s3-' . $region . '.amazonaws.com');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, [
    'Content-Type' =>  $fileType,
    'acl' => $acl,
    'key' => $fileName,
    'policy' =>  $policy,
    'x-amz-algorithm' => 'AWS4-HMAC-SHA256',
    'x-amz-credential' => $credential,
    'x-amz-date' => $longDate,
    'x-amz-signature' => $signature,
    'file' => new CurlFile($filePath, $fileType, $fileName)
    ]);
    $response = curl_exec($ch);

我知道我需要路径才能使curl命令正常工作,但我不希望将文件上传到amazon S3上以及所有这些额外的目录。有没有办法来解决这个问题?

0 个答案:

没有答案