Запуск локального PHP скрипта в WinXP через BAT файл - как?

Тема в разделе "PHP", создана пользователем Seokulinar, 1 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Seokulinar

    Seokulinar Создатель

    Регистр.:
    14 дек 2008
    Сообщения:
    46
    Симпатии:
    3
    Приветствую!
    возникла такая задачка - есть скрипт в папке на локальном сервере, надо оформить внутри винды его ежечасный запуск.
    С планировщиком проблем не возникло - nnCron рулит)) а вот как запустить сам скрипт я не вкурил, да и Гугл не особо помог.
    Написал я следующий батник и вознамерился дергать его как положено nnCron'ом да не тут то было.
    Код:
    cd C:\xampp\php\
    php -f c:\xampp\htdocs\blogs\post.php
    pause
    Выдает мне cmd следующий листинг:
    Код:
    C:\>cd C:\xampp\php\
    Warning: opendir(post/): failed to open dir: No such file or directory in C:\xam
    pp\htdocs\blogs\post.php on line 1138
    Warning: readdir(): supplied argument is not a valid Directory resource in C:\xa
    mpp\htdocs\blogs\post.php on line 1140
    Warning: closedir(): supplied argument is not a valid Directory resource in C:\x
    ampp\htdocs\blogs\post.php on line 1152
    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\blogs\pos
    t.php on line 27
    
    Соответственно на этих строчках в скрипте стоит:
    Код:
    1138	        $dir = opendir($dirname);   // Открываем текущую директорию
    1140	        while (($file = readdir($dir)) !== false)  // Читаем в цикле директорию
    1152	        closedir($dir);   // Закрываем директорию
    27              foreach($dir_accaunt_array as $papka_akk) 
    
    Скрипт не мой, я в php не особо шарю, так что если кто в курсе почему эти ошибки выскакивают и сможет растолковать что с этим делать чтобы через bat-файл скрипт запускался нормально, буду премного благодарен :)
    P.S. из браузера скрипт прекрасно запускается и отрабатывает положенное.
     
  2. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    Добавить в начало:
    PHP:
    define ('ROOTDIR'$_SERVER['DOCUMENT_ROOT']);
    $dir = opendir($dirname);
    заменить на
    $dir = opendir(ROOTDIR."/".$dirname);
    :)
     
    Seokulinar нравится это.
  3. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Или просто в начало запускаемого скрипта первой строчкой
    PHP:
    chdir(dirname(__FILE__));
    и остальной код не трогать.

    Ну то есть не в батнике менять директорию, а в самом скрипте.
     
    Seokulinar нравится это.
  4. Seokulinar

    Seokulinar Создатель

    Регистр.:
    14 дек 2008
    Сообщения:
    46
    Симпатии:
    3
    Первый способ почему то не помог, а вот способ venetu сработал - скрипт теперь запускается как надо, спасибо за помощь!
     
  5. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Первый не помог потому что скрипт лежит не в DOCUMENT_ROOT
     
  6. Mew_

    Mew_ Прохожие

    а мне помогло!
     
  7. Seokulinar

    Seokulinar Создатель

    Регистр.:
    14 дек 2008
    Сообщения:
    46
    Симпатии:
    3
    эх, Семен Семеныч..)) что-то я протупил, действительно :)
     
Статус темы:
Закрыта.