RussianPro
Эксперт
Дата регистрации:
14.07.2011 01:32:38
Сообщений: 114
Помогите пожалуйста понять в чём проблема.
Сделал штуку чтобы проверяла наличие файла на сервере, и в зависимости от того есть файл или нет удаляю его и загружаю новый.
if (@fopen('projects/images/'.$photo, 'r')) unlink('projects/images/'.$photo);
Warning: unlink(projects/images/) [function.unlink]: Operation not permitted
Warning: Cannot modify header information - headers already sent by (output started)
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Попробуйте сделать права доступа к файлу 777, а если не поможет, то, значит, хостинг не позволяет вызывать данную функцию.
RussianPro
Эксперт
Дата регистрации:
14.07.2011 01:32:38
Сообщений: 114
Так эта ошибка вылазит, когда файла нет на сервере, а когда он есть всё нормально.
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Тогда вообще ничего странного. Разумеется, удалить несуществующий файл невозможно, вот и ошибка.
RussianPro
Эксперт
Дата регистрации:
14.07.2011 01:32:38
Сообщений: 114
В интернете вычитал, что функцией fopen можно проверить существует ли файл. Она должна проверять есть ли файл и только потом решать удалить его или нет!
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Всё правильно. Проверяете, существует или нет, и только потом удаляете.
RussianPro
Эксперт
Дата регистрации:
14.07.2011 01:32:38
Сообщений: 114
Ну так файла нет, а условие true возвращает! Непонятно
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Покажите, как Вы проверяете на существование файла.
RussianPro
Эксперт
Дата регистрации:
14.07.2011 01:32:38
Сообщений: 114
Я же уже писал
if (@fopen('projects/images/'.$photo, 'r')) unlink('projects/images/'.$photo);
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Воспользуйтесь лучше функцией file_exists().