Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Exec с параметром (https://forum.antichat.xyz/showthread.php?t=133778)

Krist_ALL 08.08.2009 20:50

Exec с параметром
 
Нужно запустить пхп скрипт отдельна чтоли. Думаю юзать exec ,но мне нада еще параметр передать скрипту. И чтоб скрипт в котором команда exec не ждал выполнения скрипта в параметрах.

Kaimi 08.08.2009 20:57

Попробуй запускать через passthru, только вывод перенаправь в /dev/null

Krist_ALL 08.08.2009 21:08

Каким образом я через эту команду передам параметры скрипту? Нее.Ченить другое.

Kaimi 08.08.2009 21:13

А в чем проблема написать типа

passthru("ls -lia > /dev/null"); ?

Или там если параметры в плане $_GET переменной, то запускай типа
passthru("lynx --dump http://site.ru/script.php?.... > /dev/null");

Krist_ALL 08.08.2009 21:17

Изврат дальше некуда!
Попроще какнибудь) нужно запустить скрипт ипередать ему парметр один и пусть он выполняется скока хочет. А основной скрипт дальше делает свое дела не дожидаясь когда выполнится скрипт который запустить нада.

Sharky 08.08.2009 21:20

file_get_contents('http://site.ru/script.php?.....');

Kaimi 08.08.2009 21:22

Цитата:

Попроще какнибудь) нужно запустить скрипт ипередать ему парметр один и пусть он выполняется скока хочет. А основной скрипт дальше делает свое дела не дожидаясь когда выполнится скрипт который запустить нада.
Ну обратись через сокеты или курл с минимальным таймаутом...

Krist_ALL 08.08.2009 21:23

Мне не нада ждать пока выполнится второй скрипт

Krist_ALL 08.08.2009 22:39

Фаэр феникс, твой вариант у меня был как запасной... Я не понял,как запустить в unix and windows с аргументами? Пхп.Ехе -... Итд? А в юникс? И все же эт не оч то шо мне нада...Нада средствами пхп.

BlackSun 08.08.2009 23:11

PHP код:

 $query “POST ” $url_info[path] . ” HTTP/1.1\r\n”;
            
$query $query “Content-Typetext/xml\r\n”;
            
$query $query “Host” $url_info[host] . \r\n”;
            
$query $query “Content-length” . (strlen($request)) . \r\n\r\n”;
            
$query $query $request;

            
// создаем сокет, переводим его
            // в неблокирующий режим и запускаем
            
$errno 0;
            
$error “”;

            
$socket fsockopen($url_info[host], $url_info[port], $errno$error30);
            
stream_set_blocking($socket0);
            
fputs($socket$query); 

http://www.stableversion.com/node/3

Sharky 08.08.2009 23:59

Вставляешь в начало скрипта который надо вызывать из консоли
PHP код:

foreach ($argv as $params
    { 
        list(
$key$value) = explode("="$params); 
        
$_GET[$key] = $value;
    } 

в итоге все параметры из $argv преобразуются в $_GET
вызываем так:
Код:

php file.php param1=value param2=value
по аналогии можно и под $_POST сделать ... и вобще под что угодно)

FireFenix 09.08.2009 00:10

Цитата:

Сообщение от Krist_ALL
Фаэр феникс, твой вариант у меня был как запасной... Я не понял,как запустить в unix and windows с аргументами? Пхп.Ехе -... Итд? А в юникс? И все же эт не оч то шо мне нада...Нада средствами пхп.

А что никсы? Пхп же тотжий => запуск одинаковый
пример

index.php
PHP код:

<?php

system
('php -f C:\shell.php +site http://google.ru +file C:\result.html');

?>

Ну пути для никсов будут другие только :)

shell.php
PHP код:

<?php

if ($argc == || $argc == 5)
{
  if (
$argv[1] == '+site')
  {
    
$site $argv[2];
  }
  
  
$content file_get_contents($site);
  
  if (
$argc == 5)
  {
    if (
$argv[3] == '+file')
    {
      
$file $argv[4];
      
      if (
strlen(trim($file)) > 0)
      {
        
file_put_contents($file$content);
        echo(
'Сайт успешно записан!');
      }
    }
  } else {
    echo(
$content);
  }
} else {
    echo(
'Неверные параметры!');
}

?>


Krist_ALL 14.08.2009 14:05

Новая проблема. Запускаю скрипт через систем пхп ./а/д.Пхп все норм,скрипт запускается. И он должен создать файл в той директории по идее в которой он находится, тоесть в а , а он создает файл в директории, в который находится скрипу с систем. Получается как инклуд...

Krist_ALL 14.08.2009 14:57

Какие относительные.Ты не понял.
Есть файл а.Пхп
систем(./дир/б.Пхп)

б.Пхп находится в папке дир
фопен д.Тхт ...
Файл создается не в директории дир а втой в которой а.Пхп! Поидее если файл б.Пхп в папке дир,то он должен там и создать файл.


Время: 23:55