Программирование > PHP

Submit из скрипта

(1/1)

Shelya:
Вот наткнулся на проблемку, не знаю как ее поправильнее решить.

Конкретно надо из скрипта1 переслать данные скрипту2 (и запустить его), как будто на скрипт2 сделали submit какой-то формы. Знаю как это сделать через exec("curl ... Есть ли другие способы?

Да, и еще: как отослать на клиентскую машину файл, который генерируется на лету? То есть результатом выполнения скрипта является файл, который пользователь может сохранить на диске.

Заранее спасибо за ответы!

VaV:
вызвать подобно методу GET
header("Location:call_me.php?value1=$data1&value2=$data2");

DaBugi:
1)
Каким методом ты передаешь данные гет или пост?

Если гет - то элементарно делаешь ссылку типа
или например через header
Header("Location:http://www.blabla.com/script.php?param1=value1&param2=value2");

Если пост - то используй сокеты:


$url = "www.blabla.com"; 
$path = "/script.php"; 
$query_1 = "param1=".urlenocde($value1)."&param2=".urlencode($valu2); 
$query = "POST $path HTTP/1.0\\r\\n". 
"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\\r\\n". 
"Referer: ".$referer."\\r\\n". 
"Accept-Language: en\\r\\n". 
"Content-Type: application/x-www-form-urlencoded\\r\\n". 
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98;)\\r\\n". 
"Host: ".$url."\\r\\n". 
"Content-Length: ".strlen($query_1)."\\r\\n". 
"Connection: Keep-Alive\\r\\n". 
"\\r\\n". 
"$query1[$i]\\r\\n"; 
$fp = fsockopen($url, 80/* или тот на котором висит сервер*/); 
$puts = fputs($fp, $query); 
fpassthru($fp);/*выдает что после этого запроса выдаст сервер*/ 


2)
Как я понял тебе нужно выдать окошко сохранения файла на клиентской машине, так? Если да то воть:


header("Content-Disposition: attachment; filename=$filename\\r\\n"); 
header("Content-Type: application/octet-stream\\r\\n"); 
header("Content-Type: application/force-download\\r\\n"); 
header("Content-Type: application/download\\r\\n");
header("Content-Transfer-Encoding: binary\\r\\n"); 
$fp = fopen(\'$filename\',\'r\'); 
fpassthru($fp); 
fclose($fp); 

Shelya:
Со вторым вопросом спасибо - все понятно.

А вот с первым объясню поподробнее. Мне не подходит метод с header, потому что мне надо из одного скрипта за одно выполнение вызвать много разных других скриптов. И при этом я не могу использовать кучу функций (ftp_connect, exec, system, passthru, openlog, socket_get_status, socket_set_blocking, socket_set_timeout, syslog, fsockopen, pfsockopen,accept_connect, bind, close, connect, lten, read, socket, strerror, write) - поэтому-то я и не могу сделать через exec, или fsockopen, как предложил DaBugi.

Так есть ли методы без использования этих функций?

Макс:
Ну если у тебя еще и fopen(), file(), virtual() для удаленных ресурсов не работают и cURL не подключен то помоему никак

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии