.zipアーカイブを作成してAmazon S3にアップロードし、作成した.zipをサーバーから削除したいと考えています。ステップ1と2は素晴らしい作業しているが、削除のステップが戻っている:私はunset
関連するすべての変数およびリソースに試したunlinkが 'Resource Temporarily Unavailable'を返す原因は何ですか?
unlink(temp/file.zip): Resource temporarily unavailable
が、私はまだエラーを取得しています。
$zipFile = 'temp/file.zip';
// create the zip archive:
$z = new \ZipArchive();
$z->open($zipFile, \ZipArchive::CREATE);
$z->addEmptyDir('testdirectory');
// add a file
$filename = 'fileName.txt';
$content = 'Hello World';
$z->addFromString('testdirectory/' . $filename, $content);
$z->close();
// upload to S3
$s3 = AWS::createClient('s3');
$result = $s3->putObject(array(
'Bucket' => 'my-bucket-name',
'Key' => basename($zipFile),
'SourceFile' => $zipFile
));
// check to see if the file was uploaded
if ($result['@metadata']['statusCode'] == "200") {
$uploaded = true;
}
// delete the temp file
if ($uploaded) {
unset($result);
unset($s3);
unset($z);
if (file_exists($zipFile)) {
unlink($zipFile);
}
}
いくつかの追加の詳細情報:
は、ここにコードだ私はルーメン5.4とAWS-SDK-PHP-laravelパッケージを使用しています。
洞察力があれば幸いです!ありがとう。
'$ z-> close()'とは何ですか? 'bool'を返します。正常に終了しているかどうかを確認してください。 – BugHunterUK
'$ z-> close();'は 'bool(true)'を返します – WayneC
奇妙です。私はコード(S3なし)をテストし、それは私のために働いた。トリッキーなもの。 S3コードなしでスクリプトを実行して、それが機能するかどうか確認してください。 – BugHunterUK