Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Командная строка PHP
 
 автор: VL   (23.03.2010 в 04:02)   письмо автору
 
 

Вопрос след:
Запускаю скрипт PHP через командную строчку.
Как передавать значения переменных в командной строке скрипту и как потом вызвать в скрипте.
Я хочу например при запуске скрипт
php test.php
передать переменнную id со значением 588.
а потом ей воспользоваться в скрипте.

  Ответить  
 
 автор: GeorgeIV   (23.03.2010 в 09:50)   письмо автору
 
   для: VL   (23.03.2010 в 04:02)
 

Руководство:
При написании консольных приложений на PHP вам доступны две переменные: $argc и $argv. 
Первая - количество переданных аргументов плюс один (имя выполняемого скрипта). 
Вторая - массив переданных аргументов, начиная с имени скрипта с нулевым индексом ($argv[0]). 

  Ответить  
 
 автор: Trianon   (23.03.2010 в 10:38)   письмо автору
 
   для: GeorgeIV   (23.03.2010 в 09:50)
 

Вот это врядли.
Всё же не столько две переменных, сколько два элемента массива $_SERVER.

  Ответить  
 
 автор: GeorgeIV   (23.03.2010 в 12:55)   письмо автору
 
   для: Trianon   (23.03.2010 в 10:38)
 

Предопределённые переменные
PHP Manual

--------------------------------------------------------------------------------

$argv
$argv — Array of arguments passed to script


Это не элементы массива $_SERVER, точнее это не всегда элементы массива $_SERVER :
Суперглобальный массив $_SERVER будет создан вместе с переменными argc и argv, если 
variables_order включает "S". Если вы сконфигурировали интерпретатор таким образом, что 
$_SERVER не создаётся, тогда, конечно, её не будет. Изменение заключается в том, чтобы 
сделать argc и argv всегда доступными в CLI-версии, вне зависимости от variables_order. Как 
уже было сказано, CLI-версия теперь всегда будет объявлять переменные $argc и $argv. 

  Ответить  
 
 автор: Trianon   (23.03.2010 в 13:31)   письмо автору
 
   для: GeorgeIV   (23.03.2010 в 12:55)
 

Неплохо было бы приводить ссылки на мануал в таких ситуакциях.

И как же можно, а главное - кому придет в голову конфигурировать интерпретатор PHP так, чтоб не создавался $_SERVERS[]?

Как отключить лексически уходящие за стандарт $argc и $argv - пожалуйста:
http://ru2.php.net/manual/en/reserved.variables.argc.php
http://ru2.php.net/manual/en/ini.core.php#ini.register-argc-argv

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования