За последние 24 часа нас посетили 39362 программиста и 1722 робота. Сейчас ищут 654 программиста ...

unlink() проблема

Тема в разделе "PHP для новичков", создана пользователем bogdan_titomir, 5 дек 2017.

  1. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    PHP:
    1. $select_href_logo = $admin->db->sql ( "SELECT href FROM _@images WHERE objectId='".$objectid."' AND `type`='logo'" );
    2.     unlink($_SERVER['DOCUMENT_ROOT'].$select_href_logo);
    Не удаляет файл.
     
  2. voral

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

    С нами с:
    30 ноя 2017
    Сообщения:
    646
    Симпатии:
    104
    Вы уверены что получаете нужное значение из БД в нужном формате всегда?
     
  3. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    И в чем состоит проблема?
    И чему у вас равно $select_href_logo?
     
  4. vaajnur

    vaajnur Новичок

    С нами с:
    15 май 2017
    Сообщения:
    40
    Симпатии:
    3
    дампи путь, смотри нет ли там со слешами проблема
    PHP:
    1. $_SERVER['DOCUMENT_ROOT']. '/' .$select_href_logo
     
  5. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Проблем со слешами точно нет.
    --- Добавлено ---
    Должен путь к файлу лететь. Проблема в том что файл не удаляется хотя точно путь прописан я проверял и select вроде верный.
     
  6. vaajnur

    vaajnur Новичок

    С нами с:
    15 май 2017
    Сообщения:
    40
    Симпатии:
    3
    смотри права на файл, кто владелец
     
    Fell-x27 нравится это.
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Косяк с правами с вероятнотью 99%.
    Особенно часто он в ступор вгоняет тех, кто у себя кодит под виндой на опенсерверах и денверах, земля ему пухом, а потом заливает проект на внешний линуксовый сервер :)
     
    bogdan_titomir и askanim нравится это.
  8. ZlobnyKolob

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

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    улыбнуло)
     
  9. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Ну поржал. :D
     
  10. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Должен путь к файлу лететь. Проблема в том что файл не удаляется хотя точно путь прописан я проверял и select
    Так и есть вы прям экстрасенс! А че делать блин тогда?
    --- Добавлено ---
    Переписал код не помогает.
    PHP:
    1.  function delLogo($objectid)
    2.   {
    3.     global $admin;
    4.     $select_href_logo = $admin->db->sql ( "SELECT href FROM _@images WHERE objectId='".$objectid."' AND `type`='logo'" );
    5.     $chown_user = "gigal";
    6.     $chown_href = $_SERVER['DOCUMENT_ROOT'].$select_href_logo;
    7.     chown($chown_href,$chown_user);
    8.     unlink($chown_href);
    9.     $admin->db->sql ( "DELETE FROM _@images WHERE objectId='".$objectid."' AND `type`='logo'" );
    10.     $admin->db->sql ( "UPDATE _@objects SET logoId=0 WHERE id='" . $objectid . "'" );
    11.   }
     
  11. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    загуглить изменение прав на файл в директории
     
    bogdan_titomir нравится это.
  12. voral

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

    С нами с:
    30 ноя 2017
    Сообщения:
    646
    Симпатии:
    104
    Если у вас (точнее вебсервера) нет прав на удаление файла, то сменить владельца (chown) он точно не сможет
     
  13. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Погуглил, изменил код, не помогло.
    PHP:
    1.   function delLogo($objectid)
    2.   {
    3.     global $admin;
    4.     $select_href_logo = $admin->db->sql ( "SELECT href FROM _@images WHERE objectId='".$objectid."' AND `type`='logo'" );
    5.     $chown_user = "gigal";
    6.     $chown_href = $_SERVER['DOCUMENT_ROOT'].$select_href_logo;
    7.     chmod($chown_href, 0777);
    8.     unlink($chown_href);
    9.     $admin->db->sql ( "DELETE FROM _@images WHERE objectId='".$objectid."' AND `type`='logo'" );
    10.     $admin->db->sql ( "UPDATE _@objects SET logoId=0 WHERE id='" . $objectid . "'" );
    11.   }
    --- Добавлено ---
    Походу когда давали доступ в плеск панель ограничили меня в правах.
     
  14. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Все разобрался проблема была с SELECTом.
    --- Добавлено ---
    Всем спасибо!