За последние 24 часа нас посетили 18090 программистов и 1591 робот. Сейчас ищут 1000 программистов ...

Создание/копирование файлов на сервере

Тема в разделе "PHP для новичков", создана пользователем psoi, 3 окт 2006.

  1. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    Пытаюсь создать файл следующим скриптом:
    <?
    $name = "test.txt";
    $file = fopen("$name","w+");
    if ($file)
    {
    echo "Файл создан";
    }
    else
    {
    echo "Файл НЕ создан";
    }
    ?>
    На localhost - скрипт отлично работает.
    А вот на удалённом сервере Атнюдь.
    В чем может біть проблема????
    Я пишу в рнр 5.1.4
    На сервере стоит 4.3.11
     
  2. Петр

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

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Проблема, скорее всего, в правах доступа.
     
  3. NIKO

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

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    ты прав!
     
  4. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    Хм... Ну есть у меня доступ к хосту через фтп через логин пароль. В фтп могу загружать/удалять/создавать файлы и папки. Или есть ещё какие-то права?
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    скрипт скорей всего работает совсем под другими юзер/группа чем ты ходишь по FTP. этораз. два: надо что б скрипт мог писать в папку, для этого дать ей права 777
     
  6. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    Папка с правами drwxr-xr-x. Этих достаточно??
    И как дать этому скрипту хотя бы свой лог/пароль. Может можно переместить папку посредством фтп? Но как это сделать? Ведь скрипты на фтп позволяют только Работу с директориями, аплоад, доунлоад, ринейм. Это походу всё. А копи/пейст вроде как нет :(
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    это 755 надо 777 если работает апач

    буковка w - это право на запись. оно есть только у владельца, т.е. того кто про FTP Ходит. остальным только чтение как видишь
     
  8. Anonymous

    Anonymous Guest

    у хостеров кстати часто для апача стоит User/Group - nobody(99)/99
     
  9. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Код (Text):
    1.  
    2. gw(root):/usr/www/wwwroot/search.php.ru/htdocs#>cat /etc/passwd | grep nobody
    3. nobody:*:65534:65534:Unprivileged user:/nonexistent:/usr/sbin/nologin
    4. gw(root):/usr/www/wwwroot/search.php.ru/htdocs#>cat /etc/group | grep nogroup
    5. nogroup:*:65533:
     
  10. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    Люди, я начимнающий. в 755 или 777 не понимаю. Я так понял мне нужно позвонить хостеру и дать мне права на папку. ТОлько как правильно их назвать...(777?, а простым языком это как?)
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    psoi

    FTP есть? этого достаточно. выдай там команду "chmod 777 папка" и все. или ты как все СуперМегаЮзеры думаешь что FTP это на кнопочки давить в винде?
     
  12. Anonymous

    Anonymous Guest

    440hz, я про обычных хостеров ..)))
     
  13. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    Команда: chmod 777 web
    Ответ: 500 Unknown command.

    (File Zilla)
     
  14. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Код (Text):
    1.  
    2. 1:Connect to: (03.10.2006 16:12:09)
    3. 1:hostname=tornado.katrina.ru
    4. 1:username=440hz
    5. 1:startdir=
    6. 1:tornado.katrina.ru=81.3.178.141
    7. 1:220 ProFTPD 1.2.8 Server (ProFTPD) [tornado.katrina.ru]
    8. 1:USER 440hz
    9. 1:331 Password required for 440hz.
    10. 1:PASS ***********
    11. 1:230 User 440hz logged in.
    12. 1:SYST
    13. 1:215 UNIX Type: L8
    14. 1:FEAT
    15. 1:211-Features:
    16. 1:  MDTM
    17. 1:  REST STREAM
    18. 1:  SIZE
    19. 1:211 End
    20. 1:Connect ok!
    21. 1:PWD
    22. 1:257 "/" is current directory.
    23. 1:Чтение каталога...
    24. 1:TYPE A
    25. 1:200 Type set to A
    26. 1:PORT 192,168,0,14,16,219
    27. 1:200 PORT command successful
    28. 1:LIST
    29. 1:150 Opening ASCII mode data connection for file list
    30. 1:Загрузка
    31. 1:Загрузка: 2 844 bytes
    32. 1:Жду ответа сервера...
    33. 1:226 Transfer complete.
    34. 1:MKD aaa
    35. 1:257 "/aaa" - Directory successfully created
    36. 1:Чтение каталога...
    37. 1:PORT 192,168,0,14,16,233
    38. 1:200 PORT command successful
    39. 1:LIST
    40. 1:150 Opening ASCII mode data connection for file list
    41. 1:Загрузка
    42. 1:Загрузка: 2 904 bytes
    43. 1:Жду ответа сервера...
    44. 1:226 Transfer complete.
    45. 1:SITE chmod 777 aaa
    46. 1:200 SITE CHMOD command successful
    47. 1:Чтение каталога...
    48. 1:PORT 192,168,0,14,16,235
    49. 1:200 PORT command successful
    50. 1:LIST
    51. 1:150 Opening ASCII mode data connection for file list
    52. 1:Загрузка
    53. 1:Загрузка: 2 904 bytes
    54. 1:Жду ответа сервера...
    55. 1:226 Transfer complete.
     
  15. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    А парва всё равно drwxr-xr-r
     
  16. psoi

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

    С нами с:
    25 июн 2006
    Сообщения:
    65
    Симпатии:
    0
    Всем спасибо, всё отлично заработло. Без фтп и просто файловой системой. После команды 777. Особое спасибо 440hz!!!!
     
  17. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    можно 5$
     
  18. TheSingle

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

    С нами с:
    26 ноя 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Moscow
    Всем доброго времени суток.

    Вопрос:
    Есть необходимость используя PHP скрипт скопировать файл с одного места в другое (в системе unix).
    В Apache настройка DocumentRoot "/var/www/html" внутри этого каталога всё копирует, так же копирует и в каталог /var/www, но в /var уже не копируется.

    Скрипт такой:

    PHP:
    1.  
    2. <?
    3. $file='/var/www/html/mail/test1';
    4. $mail='/var/test2';
    5. //$mail="/var/spool/mail/test2";
    6.  
    7.  
    8. if(!copy($file, $mail)) { echo "не удалось скопировать $file...\n";
    9. }
    10.  
    11. ?>
    12.  
    Файл в директории /var присутствует

    Код (Text):
    1.  
    2. [root@admun /]# ls -lrt /var/
    3. ...
    4. -rw-r--r--   1 apache  root        0 Nov 23 14:47 test2
    5. ...
    Из-за чего может он не копировать? Возможно это из-за каких-либо настроек Apache или можно сделать так, что бы скрипт запусклася из под пользователя root.
     
  19. TheSingle

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

    С нами с:
    26 ноя 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Moscow
    Эх, ни кто не знает как копировать с помощью PHP скрипта файл находящейся в любом месте в системе UNIX?