За последние 24 часа нас посетили 34177 программистов и 1736 роботов. Сейчас ищут 908 программистов ...

Проблема с fункцией move_uploaded_file на новом хосте

Тема в разделе "PHP для новичков", создана пользователем Владимир4234, 30 май 2018.

  1. Владимир4234

    Владимир4234 Новичок

    С нами с:
    11 май 2018
    Сообщения:
    69
    Симпатии:
    2
    Warning: move_uploaded_file(/imgeo.png): failed to open stream: Permission denied in /home/u8124921/domains/site.tioo.ru/public_html/mssiv2.php on line 13

    Вот сама fункция
    move_uploaded_file($_FILES['uploaded_file']['tmp_name'], '/'.$_FILES['uploaded_file']['name']);

    Чего оно так?
     
  2. AlexALX

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

    С нами с:
    13 июн 2007
    Сообщения:
    294
    Симпатии:
    5
    Адрес:
    Киев
    Права на папки проверь, нужно chmod 777 выставить на ту папку куда перемещаешь файл как минимум.
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Вы пытаетесь переместить файл в корневую папку сервера, куда вам естественно закрыт доступ. Хотя бы так:
    PHP:
    1. move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/'.$_FILES['uploaded_file']['name']);
    в корень директории вашего сайта
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @AlexALX как можно на корень 777)
    --- Добавлено ---
    @Deonis эх не успел...(
     
  5. AlexALX

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

    С нами с:
    13 июн 2007
    Сообщения:
    294
    Симпатии:
    5
    Адрес:
    Киев
    Да не обратил внимание что путь начинается со слеша) странно что оно работало раньше тогда) Видимо сайт был в изолированной песочнице и корень был сам сайт.

    зы на корень тоже можно сделать 777 права через fstab :D но такого лучше не делать
     
  6. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    или сразу вот так chmod -R 777 / :)
     
  7. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    @AlexALX, на будущее: 777 - в принципе плохо. Если доходит до 777 - хреново у вас, батенька, сервер настроен.
     
  8. AlexALX

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

    С нами с:
    13 июн 2007
    Сообщения:
    294
    Симпатии:
    5
    Адрес:
    Киев
    Всё зависит от конкретной ситуации. если делать всё правильно и владелец папки в тойже группе от которого исполняется php то тогда ставить чтото типа 770, если же это отдельный пользователь ftp который вообще не имеет никакого отношения от чего исполняется php - то тогда кроме как 777 не обойтись (ну можно ещё варианты типа 407/607/707). если же доступ через ssh то тогда ситуация другая, а суть в целом - сделать так чтобы php мог записывать файлы в нужную папку, но при этом никто другой кроме тогоже ftp или php не мог даже читать файлы и тем более писать. Но на большинстве виртуальных хостингов и панелей типа ispconfig/ispmanager там всё это смело игнорируется и в итоге выходит что php может и писать и читать что угодно где угодно т.к. по умолчанию исполняется от тогоже пользователя которому принадлежит файл/папка (и права соответственно аля 744 или 755).

    Но я не думаю что ТС'у нужны подобные подробности изначально.
     
    #8 AlexALX, 30 май 2018
    Последнее редактирование: 30 май 2018
  9. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    а потому что не должно быть такого, если руки из правильного места.
    не игнорируется.
    потому что сервер настроен правильно.
    --- Добавлено ---
    Ну и кстати нет, ни что угодно и ни где угодно, а только там, где это нужно
     
  10. AlexALX

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

    С нами с:
    13 июн 2007
    Сообщения:
    294
    Симпатии:
    5
    Адрес:
    Киев
    если пхп исполняется от того же пользователя на котором фтп и по умолчанию стоит 744 то пхп может писать что угодно и куда угодно, и что в этом правильного тогда? именно так работает по дефолту панель ispconfig например (ismanager 5 вроде уже поправили но точно не знаю ибо в 4й точно такой косяк был) В идеале все файлы должны заливаться от другого пользователя но в тоже группе, чтобы по умочанию пхп только читать файлы мог, и только когда нужно прописывал куда писать. но как я и говорю - много где то игнорируется.
     
  11. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    да, это ближе к истине. Я там чутка лишанул, согласен.