[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Консольные приложения в PHP
megabyte
Пишу скрипт на PHP, который должен вызываться cron'ом, брать список e-mail адресов из базы и передавать его в модуль mailer.php.

mailer.php, в свою очередь, принимает входные параметры через POST. Как еще ему можно передать массив адресов, с учетом того, что все это происходит в консоли?



Спустя 6 минут, 32 секунды (8.07.2010 - 10:55) waldicom написал(а):
С помощью curl?

Спустя 29 минут, 12 секунд (8.07.2010 - 11:24) megabyte написал(а):
А он разве будет работать в консоли?

Прошу прощения за возможно глупые вопросы, просто очень остро стоит данный вопрос.

Спустя 5 минут, 15 секунд (8.07.2010 - 11:30) Basili4 написал(а):
megabyte
Не вижу не одной причины чтоб он не работал

Спустя 48 минут, 30 секунд (8.07.2010 - 12:18) megabyte написал(а):
Начинаю разбираться.

Массив должен передаваться таким образом?

curl_setopt($ct, CURLOPT_POSTFIELDS, $maillist);

Спустя 17 минут, 53 секунды (8.07.2010 - 12:36) vagrand написал(а):
Из поста не совсем понятно какие параметры нужно передавать скрипту? Если речь идет о списке email адресов, то пусть он сам их из БД и берет. Если же речь идет о других параметрах, то почему бы не передать их через ту же консольную строку?

Вот тут подробно описано все, что касается CLI: http://php.net/manual/en/features.commandline.php

Спустя 15 минут, 17 секунд (8.07.2010 - 12:51) megabyte написал(а):
В скрипе формируются $EMailsArray - список адресов, который сам скрипт берет (он работает по отдельным заданиям, поэтому нет резона смешивать его с модулем пересылки писем). Плюс переменная $TplID, которая для конкретного задания передает ID шаблона письма.

Вот нужно передать этот массив и эту переменную не через POST/GET/SESSION, а как-то еще.

Спустя 2 часа, 18 минут, 33 секунды (8.07.2010 - 15:10) vagrand написал(а):
Ну так передавай через параметры скрипта

Спустя 1 час, 11 минут, 28 секунд (8.07.2010 - 16:21) sergeiss написал(а):
А проще если?
В основном скрипте пишешь include( 'mailer.php' ) и всё. Проблем нету. Второй скрипт становится частью первого и может использовать любые объявленные до инклуда переменные. В том числи и любые списки адресов.

Спустя 1 день, 53 минуты, 16 секунд (9.07.2010 - 17:15) Ymnik написал(а):
sergeiss а есе в mailer.php есть к примеру такое
print 'Эта строка не должна попасть в скрипт';
а она попадет есе заинклудить)

Спустя 2 минуты, 3 секунды (9.07.2010 - 17:17) Ymnik написал(а):
Можно передать через сессии или через GET(Есе инфа не секретная:) )


П.с. Я новенький извиняюсь есе несу чуш:)

Спустя 4 часа, 44 минуты, 40 секунд (9.07.2010 - 22:01) sergeiss написал(а):
Цитата (Ymnik @ 9.07.2010 - 18:15)
sergeiss а есе в mailer.php есть к примеру такое
print 'Эта строка не должна попасть в скрипт';
а она попадет есе заинклудить)

А кто тебе мешает там поставить какие-то условия, которые позволят выполнить что-то одно и не выполнить что-то другое, в зависимости от этих условий???

Спустя 11 часов, 58 минут, 47 секунд (10.07.2010 - 10:00) vagrand написал(а):
Цитата
Можно передать через сессии или через GET(Есе инфа не секретная:) )


GET и POST данные передаются через HTTP запрос, а если скрипт консольный, то о каком HTTP запросе может идти речь?
Автору была дана ссылка на подробный мануал по CLI скриптам, но видимо он ленится читать.

Спустя 2 дня, 32 минуты, 8 секунд (12.07.2010 - 10:32) megabyte написал(а):
Автор все уже сделал, не поленился прочитать smile.gif

Теперь другой вопрос: как определить - в консоли запущена программа или нет?

Спустя 1 минута, 3 секунды (12.07.2010 - 10:33) megabyte написал(а):
... и сразу же автор нашел ответ:

if (defined('STDIN'))

Всем спасибо smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.