私はチェックボックス付きのHTMLフォームを持っています。誰かがチェックボックスを1つ以上選択し、削除ボタンを押すと、データベースからファイル参照を削除し、Amazon S3からファイルを削除します。これは私がすべてのチェックボックスを見つけるために使用したコードです複数のphp配列を作成
$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'" }
私の問題はAmazon S3と複数のファイルの削除にあります。私は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を使っているのでしょうか(私は両方ともビデオファイル名がリストされています)?前もって感謝します。