我正在使用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上以及所有这些额外的目录。有没有办法来解决这个问题?