2013-07-29 1 views
-2

Я рассмотрел большинство предложенных вопросов, но не могу найти ответ, который мне нужен.php unlink не удалять файлы, но сменил владельца и разрешения

Я использую CakePHP 2.x и у меня есть функция контроллера следующим образом:

public function removeImage($image) { 
    $p = '/explicit/path/to/website/domain.com/www/app/webroot/img/weddings/'; 
    $command = "rm ".$p.$image."*.jpg"; 
    $output = shell_exec($command); 
    /* do something with $output */ 
} 

Файл вид имеет эту ссылку

<?php echo $this->Html->link('remove image', array('controller' => 'weddings', 'action' => 'removeImage', 'p'.$aWeddings[$wedding['Wedding']['zenId']]['TitlePhoto']['Id'])); ?><?php endif; ?> 

, который дает мне строку, как «p12321223213».

Я установил (а) разрешений user:www-data и rw-rw-r--.

Теперь, когда я нажимаю на ссылку, не только не удалить файл, но он изменяет права доступа к www-data:www-data и rw-r--r--

пользователь является членом группы www-data.

Почему это не удаляет файлы?

Благодаря

+0

звучит как ваш код _is_ удаляет файл, а затем сразу же воссоздает его (попытка удалить файл будет делать только одну из двух вещей: 1) удалить файл 2) ничего). – AD7six

+0

@ AD7six Я ​​понимаю вашу логику, но это не объясняет, почему «новые» файлы точно такие же, как старые. – khany

+0

Как бы это объяснить что-то о размере файла - я думаю, что вы застряли в «проблема, безусловно, этот» режим прямо сейчас, и вам нужно взглянуть на «проблему» немного иначе. например сразу после удаления файла - зарегистрируйте каталог. если это _не_ другой процесс воссоздает файл. Кстати, зачем использовать shell_exec вместо unlink или класс файла? – AD7six

ответ

2

попробуйте использовать встроенную функцию PHP для удаления файлов: unlink().

+0

Я сделал это первым. Получил точно такой же результат. – khany

+0

Что такое выход переменной $ output и что дает вам эту команду: echo "shell_exec ($ command);"; – AtLeT

+0

$ выход пуст – khany

Смежные вопросы