За последние 24 часа нас посетили 17797 программистов и 1678 роботов. Сейчас ищут 897 программистов ...

fopen, файл на удаленном кампутере?

Тема в разделе "Прочие вопросы по PHP", создана пользователем karma_jinpa_tarchin, 24 июн 2008.

  1. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Код (Text):
    1.  
    2. $data="1010100110";
    3. $filename = "\\192.168.0.1\data\movies.xml";
    4. if ( is_writeable($filename) )
    5. {
    6. $fh = fopen($filename, "a+");
    7. $success - fwrite($fh, $data);
    8. fclose($fh);
    9. }
    10. else
    11. {
    12. print "Could not open Sfilename for writing";
    13. }
    естественно пишет
    Код (Text):
    1. Could not open \\192.168.124.209\data\movies.xml for writing
    Если какие-нибудь способы открыть файл для записи на удаленной машине в локальной сети и в одной рабочей группе, кроме тех способов что указаны ниже:
    Код (Text):
    1.  
    2. fopen("/home/rasmus/file.gif", "wb");
    3. fopen("http://www.example.com/", "r");
    4. fopen("ftp://user:password@example.com/somefile.txt", "w");
    Sys: WindowsXp+php5+apache
     
  2. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Просто не охото на 30 машинах ставить Apache или ftp - сервер =)
     
  3. Anonymous

    Anonymous Guest

    Диск зашарь. А сразу, на удаленой машине нельзя поднять апач, и писать в файлик - там?
     
  4. mclaud

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

    С нами с:
    15 фев 2007
    Сообщения:
    97
    Симпатии:
    0
    Адрес:
    Одесса
    Попробуй подключить удаленную шару как локальный диск и обращайся к нему.
     
  5. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Мне нужно с одной машины, редактировать файлы на тридцати других. надо делать из одной админки.
    Да и как указано выше тридцать аппачей не охото ставить.



    Да и тридцать дисков подключать тоже не реал =(
     
  6. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Что нибудь еще?
     
  7. mclaud

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

    С нами с:
    15 фев 2007
    Сообщения:
    97
    Симпатии:
    0
    Адрес:
    Одесса
  8. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    У меня в локалке только винды, нет у меня самбы.
    Да и вообще там черт ногу сломит(http://www.phpclasses.org/browse/file/20566.html
    Вы сами то пробовали это использовать....
     
  9. dj--alex

    dj--alex Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    184
    Симпатии:
    0
    Мне приходится на все ставить апач, выбора нет.
    Можно конечно FTP еще ставить,
     
  10. mclaud

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

    С нами с:
    15 фев 2007
    Сообщения:
    97
    Симпатии:
    0
    Адрес:
    Одесса
    Нет не пробовал.
    Если мне память не изменяет, то smb (он же Samba) это виндовый протокол.
    Я в код не вчитывался, но по внешнему виду, вроде вполне вменяемый
     
  11. Amian

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

    С нами с:
    15 мар 2007
    Сообщения:
    189
    Симпатии:
    0
    Всё равно придётся либо ставить везде веб сервер, либо фтп, либо написать(найти готовое решение ?) какой-нибудь обработчик для других незарезервированных (1024+) портов, который будет производить определённые действия по созданному вами протоколу. Последний случай лучше подойдёт , если необходимо создать полноценную систему управления, а не просто менять текстовый файл :)

    В любом случае всё это дело придётся устанавливать на всех машинах.
     
  12. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Понятно ставлю апач. Всем спасибо.
     
  13. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    установил таки апач пытаюсь считать с удаленной машины файл:
    Код (Text):
    1.  
    2. $data="movies";
    3. $filename = "http://192.168.124.209/fail.fail";
    4. if ( is_writeable($filename) )
    5. {
    6. $fh = fopen($filename, "a+");
    7. $success - fwrite($fh, $data);
    8. fclose($fh);
    9. }
    10. else {
    11. print "Could not open $filename for writing";
    12. }
    деректива allow_url_fopen стоит в "on"

    выдает ошибку:
    Код (Text):
    1. Could not open http://192.168.124.209/fail.fail for writing
    естественно ошибка составленна по шаблону в else.
    Как узнать реальную ошибку?
     
  14. mclaud

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

    С нами с:
    15 фев 2007
    Сообщения:
    97
    Симпатии:
    0
    Адрес:
    Одесса
    Хм...
    А кто тебе сказал, что твой скрипт должен работать?
    Для клиентов пишешь и раскидываешь скрипт (к примеру mysqcript.php) в духе:
    PHP:
    1. <?php
    2. $data=$_POST["data"];
    3. $filename = "./fail.fail";
    4. if ( is_writeable($filename) ) {
    5.     $fh = fopen($filename, "a+");
    6.     fwrite($fh, $data);
    7.     fclose($fh);
    8. } else {
    9.     print "Could not open $filename for writing";
    10. }
    11. ?>
    И серверу кидаешь скрипт в духе:
    PHP:
    1. <?php
    2.             $data="movies";
    3.         $handle = curl_init();
    4.         curl_setopt($handle, CURLOPT_URL, 'http://192.168.124.209/mysqcript.php');
    5.         curl_setopt($handle, CURLOPT_POST, 1);
    6.         curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE);
    7.         curl_setopt($handle, CURLOPT_POSTFIELDS, 'data=' . urlencode($data));
    8.         ob_start();
    9.         curl_exec($handle);
    10.         $result = ob_get_contents();
    11.         ob_end_clean();
    12.         curl_close($handle);
    13.         var_export($result);
    14. ?>
     
  15. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Код (Text):
    1.         <?
    2.          
    3.          $data="movies";
    4.          $handle = curl_init();
    5.          curl_setopt($handle, CURLOPT_URL, 'http://192.168.124.209/script.php');
    6.          curl_setopt($handle, CURLOPT_POST, 1);
    7.          curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE);
    8.          curl_setopt($handle, CURLOPT_POSTFIELDS, 'data=' . urlencode($data));
    9.          ob_start();
    10.          curl_exec($handle);
    11.          $result = ob_get_contents();
    12.          ob_end_clean();
    13.          curl_close($handle);
    14.          var_export($result);
    15.  
    16.          ?>
    ошибка:
    Код (Text):
    1. Fatal error: Call to undefined function curl_init() in...
     
  16. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    karma_jinpa_tarchin

    подключи curl в php.ini и перезагрузи апач
     
  17. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Сделал. Но теперь у меня страница не грузиться. Браузер зависает на долго когда я запускаю скрипт. а потом выдает ошибку 500
     
  18. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Код (Text):
    1. ;extension=php_curl.dll
    так грузится

    а так
    Код (Text):
    1. extension=php_curl.dll
    виснет браузер
     
  19. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    что в error_log написано?
     
  20. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    у меня почему то не пишет лог
     
  21. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    На этом помощь закончилась?!....
     
  22. mclaud

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

    С нами с:
    15 фев 2007
    Сообщения:
    97
    Симпатии:
    0
    Адрес:
    Одесса
    Ты думаешь, что тут полный форум телепатов, что бы знать, почему и что у тебя не работает?
    Я вот думаю, что ты не тот файл скачал и прицепил php_curl.dll, скачай последний дистрибутив php.
     
  23. karma_jinpa_tarchin

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

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    у меня довольно таки свежий пхп: подписан 01 May 2008, PHP 5.2.6
     
  24. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    - гыыыы! ответ вида: "Не угадали, попробуйте ещё раз!"
     
  25. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    DarkElf
    Надо смотреть лог апача. У тебя вообще включено ведение логов?