2012-02-22 1 views
0

В CodeIgniter я использую функцию img() встроенных, который принимает http:// пути к изображениям, но когда я удалить запись, а затем удалить изображение, unlink() - У меня есть ошибка, которая говорит «не разрешено удалять по http», как я могу объединить эти две функции для работы?Как я могу объединить IMG() функцию и разъединить() для удаления изображений

+0

Пожалуйста, задайте сразу один вопрос, я удалил второй вопрос из вашего ответа до сих пор. – hakre

ответ

0

я не уверен, но это может помочь вам

function delete_data($record_id) 
{ 
    $query = $this->db->get_where('projukti_committee',array('record_id' => $record_id)); 
    if($query->num_rows() > 0) 
    { 
     $row = $query->row(); 
     $picture = $row->picture; 
     unlink(realpath('assets/photo/'.$picture)); 
     $this->db->delete('projukti_committee', array('record_id' => $record_id)); 
     return true; 
    } 
    return false; 
} 
+0

$ picture имеет префикс http: // ??, просто попробовал его как этот echo realpath ($ q-> image); - выход пуст –

2

HTTP-адрес не поддерживается unlink()­Docs, поэтому вы получите сообщение об ошибке (есть HTTP DELETE method­Docs, однако это обычно не поддерживается, так что не был введен в unlink и HTTP Stream Wrapper­Docs).

Так что просто не используйте unlink() для HTTP-URL-адресов, потому что HTTP не поддерживает удаление файлов, вы можете заменить HTTP-обертку своей собственной, которая предлагает поддержку unlink (или просто пропускает/отменяет команду без уведомления), если вам действительно нужно использовать unlink.

+0

и какую функцию мне нужно использовать для удаления в php ?? –

+0

Невозможно удалить HTTP-URL-адреса в PHP (как правило, нет стандартизованного способа удаления HTTP-URL-адресов, поэтому в PHP нет). – hakre

+0

Что делать, если я создаю еще один столбец для записи пути к системе для удаления? –