За последние 24 часа нас посетили 30557 программистов и 1803 робота. Сейчас ищут 870 программистов ...

PHP не работает с сетевыми дисками

Тема в разделе "Прочие вопросы по PHP", создана пользователем Goryn, 4 апр 2006.

  1. Goryn

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

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    Проблема следующая, на MS Server 2003 крутитрся Apache и PHP v 4.4.2. Так-же замаплены сетевые шары, php напрочь отказывается работать с сетевыми дисками и папками. На MS Server 2000 с той же версией Apache и PHP все работает. Подскажите пожалуста в чем проблема если кто-нить уже столкнулся.
     
  2. Diver

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

    С нами с:
    19 фев 2006
    Сообщения:
    144
    Симпатии:
    0
    Адрес:
    Владивосток
    в чем заключается это ваше не работает?
     
  3. Goryn

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

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    is_dir, chdir, opendir всегда возврвщают false, если указан путь к папке на сетевом ресурсе. С локальными все работает.
     
  4. AlexGousev

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

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Как дела с правами доступа? Имеет ли юзер, из-под которого запускается апач доступ к расшаренным ресурсам?

    Ресурс именно расшаренный, или подключен как локальный диск? В первом случае можно попытаться попробовать сделать второй.
     
  5. Goryn

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

    С нами с:
    4 апр 2006
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    Ярославль
    С правами все в порядке, ресурс подключен как локальный диск и не работает.
     
  6. GRiM

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

    С нами с:
    4 дек 2007
    Сообщения:
    2
    Симпатии:
    0
    Такая же проблема, Апач запущен как сервис (стандартно под учеткой локальной системы), пробовал в свойствах менять учетку на админскую и рестартануть апач, не помогло. Решение так и не найдено :(
     
  7. Ti

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

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    пробуйте полный путь шары \\host\path
    слеш нужно экранировать
    PHP:
    1. <?
    2. $path = '\\\\host\\path';
     
  8. dark-demon

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

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    одинарный слэш в одинарных кавычках экранировать не нужно :)
     
  9. GRiM

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

    С нами с:
    4 дек 2007
    Сообщения:
    2
    Симпатии:
    0
    Огромное спасибо!

    \\host\path - так не работало, а так:
    PHP:
    1. <?
    2. $path = '\\\\host\\path';
    Заработало! :)
     
  10. Ti

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

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    но можно ;)
    http://php.net/string#language.types.st ... tax.single
    если нужна двойная косая черта, то как минимум один раз ее нужно экранировать
    PHP:
    1. <?
    2. $path = '\\\host\path';
    3. echo $path; // результат: \\host\path
     
  11. Штаны

    Штаны Guest

    А зачем тогда первый раз вы четыре слеша поставили если корректно работает и с тремя?
     
  12. Ti

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

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    даже форум криво в последнем варианте раскрасил, делайте выводы ;)
     
  13. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Потому как \\\\ и \\\ слэша дадут в итоге одно и тоже.
    PHP:
    1. <?php
    2. print '\\привет' . "\n";
    3. print '\\\привет' . "\n";
    4. print '\\\\привет' . "\n";
    5.  
    Код (Text):
    1. \привет
    2. \\привет
    3. \\привет
     
  14. Штаны

    Штаны Guest

    Да я не в упрек... Просто подумал, что вариант с тремя слешами не во всех версиях РНР проходит и вы предложили, так сказать, универсальный четырехслешевый на все версии РНР вариант... А раз разницы нет, то просто буду иметь ввиду, что ‘\\\\’=’\\\’=\\
     
  15. Штаны

    Штаны Guest

    Не всегда :)

    PHP:
    1. <?
    2. $path = '//host/path';
    3. echo $path; // результат: //host/path
    Оказывается еще нужно учитывать в какую сторону косит эта двойная косая черта :)
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Штаны обратный слеш \ умеет экранировать и его надо экранировать
    прямой слеш / экранируют только в особых случаях