Удалить файл из пути загрузки с таблицей базы данных - PullRequest
0 голосов
/ 08 октября 2011

Я сделал удаление изображения URL из базы данных с помощью следующего кода, но это не удаление изображения файла из пути загрузки, как можно удалить файл из пути загрузки с помощью URL в базе данных (оба вместе)?

Этот php предназначен только для удаления URL из базы данных:

$delete = $this -> input -> post('checked');
foreach($delete as $val) {
    $this - > db - > delete($this - > _table, array('id' = > $val));
}

Обновление:

У меня ошибка при использовании следующего кода.

$id = '166';
$query = $this - > db - > get_where('hotel_image', array('id' = > $id));
if ($query - > num_rows() > 0) {
    $res = $query - > row();
    unlink(base_url(uploads/$res - > images));//This is line 161
}
$this - > db - > delete('hotel_image', array('id' = > $id));

Ошибка: (мои изображения в этом паке: http://example.com/uploads/)

Обнаружена ошибка PHP
Серьезность: уведомление
Сообщение: использование неопределенные постоянные загрузки - предполагаемые «загрузки»
Имя файла: user / dence.php
Номер строки: 161

Обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: unlink () [function.unlink]: http не разрешает отмену связи
Имя файла: user / dence.php
Номер строки: 161

1 Ответ

0 голосов
/ 08 октября 2011

Вам необходимо использовать unlink () , чтобы удалить файл с диска, просто передайте имя файла в качестве параметра.

bool unlink (string $имя файла [, ресурс $ context])

Удаляет имя файла.Похоже на Unix-функцию unlink ().Ошибка уровня E_WARNING будет сгенерирована при сбое.

Что-то вроде (это упрощенный код. Возможно, вы захотите проверить, завершен ли путь из БД, или добавьте остальное.):

$delete = $this -> input -> post('checked');
foreach($delete as $val) {
    $this->db->select('images')->from($this->_table)->where('id',$val);
    $query = $this->db->get();
    if($query->num_rows() > 0)
    {
      $res = $query->row();
      $file = './uploads/'.$res - > images));
      // echo $file;  #check if this is the correct path!
      @unlink($file);
    }
    //now query to delete
    $this -> db -> delete($this - > _table, array('id' = > $val));
}
...