Ошибки удаления файлов

Из БД выводяться названия фотографий, которые отображаются как input

<? foreach ($dataImg as $rows): ?>
  <input name="image[]" value="<?=$rows['image']?>"><br/>
<? endforeach ?>

При нажатии на кнопку удалить, названия фотографий помещаются в переменную

$images = $_POST['image'];

выглядят вот так:

array(6) { 
  [0]=> string(36) "965685735aa0b00fbccbb3e331a6c822.jpg" 
  [1]=> string(36) "82cd1f7e7fd90c0be19aadccdf2961b8.jpg" 
  [2]=>... 
}

Далее я пытаюсь перебрать все фото и удалить каждую из директории с нужным названием, но ничего не выходит. Как исправить ситуацию, чтобы все фото удалялись?

foreach ($images as $key) {
  $images = $key['image'];
  $filepathI = $_SERVER['DOCUMENT_ROOT'].'/content/products/'.$images;
  unlink($filepathI);
}

Ошибки:

Warning: Illegal string offset 'image' in.... on line 26

Warning: unlink(..../content/products/2): No such file or directory


Ответы (1 шт):

Автор решения: Jug-IT

Вы неправильно обращаетесь к значениям массива $images с названиями фотографий. Нужно переделать цикл следующим образом:

foreach ($images as $val) {
    $filepathI = $_SERVER['DOCUMENT_ROOT'].'/content/products/'.$val;
    unlink($filepathI);
}
→ Ссылка