チェックボックス付きのhtmlフォームがあります。誰かが1つ以上のチェックボックスを選択し、削除ボタンを押すと、データベースからファイル参照が削除され、AmazonS3からファイルが削除されます。これは、すべてのチェックボックスを見つけるために使用したコードです
$checkbox_select = JRequest::getVar('checkboxselect', '', 'POST'); //just a Joomla way of doing a $_POST with extra security
var_dump($checkbox_select); //this returns: array(2) { ["video_1.mp4"]=> string(2) "on" ["video_2.mp4"]=> string(2) "on" ["video_3.mp4"]=> string(2) "on"}
// Localize and sanitize each individual value
foreach (array_keys($checkbox_select) as $element) {
$deleteNames[] = $db->quote($element);
}
var_dump($deleteNames); //array(3) { [0]=> string(13) "'video_3.mp4'" [1]=> string(13) "'video_2.mp4'" [2]=> string(13) "'video_1.mp4'" }
私の問題は、AmazonS3と複数のファイルの削除にあります。S3の削除を入れる必要のある形式は、かなり紛らわしいです。
$s3->delete_objects('mybucket', array(
'objects' => array( // accepts a *list* of one or more *hashes*
// a *hash* that contains a "key" key with a value, and maybe a "version_id" key with a value
array('key' => 'object (file) name'),
// a second hash representing a file
// a third hash representing a file
// and so on...
),
));
私が理解している限り(S3 delete_objects関数から)、最終的な連想配列はkey
実際のキー値として持っています。最後var_dump
に、すべてのビデオ名を配列に入れました。今は、その配列を次の形式の配列の束に変換する必要があります。
array ('key' => 'video_1.mp4'),
array ('key' => 'video_2.mp4'),
array ('key' => 'video_3.mp4'),
...and so on
これらのアレイを作成するにはどうすればよいですか?私が持っている最初のvar_dumpを使用するべきですか、それとも2番目のものを使用するべきですか(両方ともビデオファイル名がリストされています)?前もって感謝します。