我有这个功能:
function deleteImage($image){
//$image is a varchar like 2016/10/example.jpg from MySQL
$myArray = explode('/', $image);
$result = $s3->deleteObject(array(
'Bucket' => $bucket,
'Key' => 'uploads/avatars/'.$myArray[0].'/'.$myArray[1].'/xs-'.$myArray[2]
));
}
基本上是$image = 2016/10/example.jpg
我需要删除位于
中的图片uploads/avatars/2016/10/xs-example.jpg
我试图将问题弄清楚几个小时,但它无法正常工作,似乎无法调试。
答案 0 :(得分:3)
我会选择这样的东西
$key = sprintf('uploads/avatars/%s/xs-%s',
ltrim(dirname($image), '/'), basename($image));
ltrim
可能有点矫枉过正,以防万一$image
变量以/
开头。
这应该处理你抛出的任何路径深度。
见
答案 1 :(得分:1)
你用一个数组作为参数调用你的函数,而不是radio.onclick = function(){alert(this.value};
你应该调用它deleteImage(array($verify['image']));