Привет Всем!
У меня такой вопрос. Можно ли реализовать это с помощью PHP.
Задача следующая.
Нужно чтобы автоматически раз в месяц в определенное время, запускался скрипт, который будет делать выборку из БД.
Результат сохранять в файл.
Затем формировать письмо и отправлять с вложенным файлом на указанный email.
Скрипт с запросом я напишу.
Функцию с формированием письма с вложенным файлом думаю сделаю.
Как сделать, так чтобы – этот скрипт запускался автоматически в указанное время.
Заранее спасибо за советы.
google / wikipedia -> cron
Я понимаю, что нужно с помощью крона задать время запуска.
Прошу прощения, но ничего подобного для автозапуска не делал еще.
К примеру. Есть скрипт php.script:
Я делаю его запускающимся:
chmod u+x php.script
пробую запустить и получаю ошибку:
./php.script
./php.script: line 1: ?php: Нет такого файла или каталога test
./php.script: line 3: syntax error near unexpected token `newline'
./php.script: line 3: `?>'
то что тебя интересует называется планировщиком. Большинство провайдеров предоставляет такие возможности и как правило они уже включены в твой тариф оплаты хостинга. Для этого дело предоставляется интуитивно понятный интерфейс. Уточняй у хостеров.
что касается реализации всего этого средствами php - конечно можно, но тут очень много подводных камней:
1. запуск скрипта зависит от обращения к нему, т.е. кто то должен к нему обратиться (зайти на сайт например)
2.невозможность точного прогноза посещаемости твоего ресурса обеспечит тебе следующее:
3.черезмерная нагрузка на сервер 9если вдруг произойдет резкий всплеск посещаемости))))))
4. или вообще невыполнение задачи в нужное время т.к. за может ни кто и не обратиться к скрипту за нужный интервал времени
в общим самое рациональное решение - это планировщики, а php сгодится на крайний случай, если сильно надо а другого выхода нет.
(Добавление)
dembi
еще вот вопрос:
будь я этим скриптом я бы нифига не понял, меня "будит" сервер с просьбой показать строку "test".. и кому я должен ее показывать?? где выводить?? это ведь не пользователь меня попросил, ..
хотя я могу конечно ошибаться))))
Это я для примера написал этот скрапт.
Я хочу понять, php скрипты можно запускать только когда идет какой-то http запрос, или можно писать php срикты, как например sh/bash/python ?
Если можно, то как их запускать из командной строки?
dembi
к скрипту может обращаться сервер без твоего участия при помощи планировщиков. просто пример который ты привел содержит команду echo? которая служит именно для вывода строки именно в браузер, а это уже предполагает какой то запрос какого то пользователя какого то браузера. как то так вот....
dembi, если нет, ставите пакет php5-cli
запускать командой: php скрипт
Исполняемым скрипт делать не нужно, запускает всё равно не баш/шелл
Либо - wget'ом запрашиваете по http.