За последние 24 часа нас посетили 60795 программистов и 1771 робот. Сейчас ищут 1145 программистов ...

преграды на пути unlink и rmdir

Тема в разделе "PHP для новичков", создана пользователем ionico, 31 авг 2009.

  1. ionico

    ionico Активный пользователь

    С нами с:
    16 авг 2008
    Сообщения:
    73
    Симпатии:
    0
    Здравствуйте, ув. программисты!
    У меня такой вопрос:

    Какие преграды стоят на пути функций unlink и rmdir, кроме:
    1) Файла не существует;
    2) Директории не существует;
    3) Директория не пуста.

    :wink: Есть ли смысл постоянно делать проверку, сработала ли функция?

    Код (Text):
    1.  
    2. if (!unlink("my_file")) { echo "вывод ошибки"; } else { echo "файл удален"; }
    3. if (!rmdir("my_dir")) { echo "вывод ошибки"; } else { echo "директория удалена"; }
    т.е. какие ещё казусы могут вызывать false результат этих функций?

    Заранее спасибо за ответ, с ув. Дмитрий. :)
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Ещё этим функциям мешает непроставленный chmod или неправильное обращение chmod(). Когда ты пытаешься сменить права, но не можешь из-за того, что они проставлены одним пользователем, а меняются другим. Тогда нужно пользовать umask().

    Выводить сообщения нужно, если выводить сообщения нужно. Да. :)
     
  3. ionico

    ionico Активный пользователь

    С нами с:
    16 авг 2008
    Сообщения:
    73
    Симпатии:
    0
    Например: есть БД с данными о каких-нибудь товарах + папки с изображениями товаров.
    Я удаляю товар через админ-консольку и также удаляю картинки и папки этого товара...
    я думаю, что здесь chmod() не нужен и проверки тоже не нужны, или я не прав?
     
  4. Fduch

    Fduch Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    140
    Симпатии:
    0
    а по ФТП или с консоли разве невозможно, например, из бэкапа восстановить фалы и забыть (не уметь, не знать) выставить нужные пермишенсы?
    или удалить всю папку или удалить файл?
    проверки все равно нужны. мало ли кто и как потом с этим работать будет.