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

Форум PHP

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

 

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

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

тема: Как передать данные от РНР-скрипта...
 
 автор: coloboc66   (02.08.2007 в 14:14)   письмо автору
 
 

...расположенного на одном сервере, РНР-скрипту, расположенному на другом сервере? Ну или хотя бы пусть эти два скрипта лежат на одном домене.
Спасибо.
Хотел воспользоваться поиском, но он не работает почему-то...

   
 
 автор: Петр   (02.08.2007 в 14:55)   письмо автору
 
   для: coloboc66   (02.08.2007 в 14:14)
 

Get-параметром
http://site1.ru/test2.php?id=$var

   
 
 автор: coloboc66   (02.08.2007 в 15:38)   письмо автору
 
   для: Петр   (02.08.2007 в 14:55)
 

Непонятно: ну а как инициировать вызов скрипта test2.php ? Какой-то оператор ведь нужно использовать?

   
 
 автор: Unkind   (02.08.2007 в 15:45)   письмо автору
 
   для: coloboc66   (02.08.2007 в 15:38)
 

Как Вы инициируете вызов, допустим, http://softtime.ru/forum/index.php?
Вы запрашиваете его в адресной строке браузера. Следовательно, нужно запросить файл.

Можно воспользоваться fopen(), fsockopen, CURL.

   
 
 автор: mihdan   (02.08.2007 в 15:47)   письмо автору
 
   для: coloboc66   (02.08.2007 в 14:14)
 

file(), file_get_contents(), fopen(), fsockopen(), libCURL !!! в параметрах передавай то что нужно

из предыдущего поста


<?php 
 set_time_limit
(180);
 
header("Content-type: text/html; KOIR-8");
  
$hostname "localhost";
  
$path "/post.php";
  
$line "";
  
// Устанавливаем соединение, имя которого
  // передано в параметре $hostname
  
$fp fsockopen($hostname80$errno$errstr30); 
  
// Проверяем успешность установки соединения
  
if (!$fp) echo "$errstr ($errno)<br />\n"
  else
  { 
    
// Данные HTTP-запроса
    
$data 
      
"nick=".urlencode("any")."\r\n\r\n";
    
// Заголовок HTTP-запроса
    
$headers "POST $path HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers.$data); 
    
// Получаем ответ
    
while (!feof($fp))
    { 
      
$line .= fgets($fp1024); 
    } 
    
fclose($fp); 
  } 
  
$text strstr ($line"<");
echo 
$text;
?> 

   
 
 автор: Unkind   (02.08.2007 в 15:52)   письмо автору
 
   для: mihdan   (02.08.2007 в 15:47)
 

file(), file_get_contents()
Нерекомендуется.

$headers = "POST $path HTTP/1.1\r\n";
HEAD и HTTP/1.0.

// Получаем ответ
Да это делать и не надо, в принципе.

   
 
 автор: mihdan   (02.08.2007 в 15:53)   письмо автору
 
   для: Unkind   (02.08.2007 в 15:52)
 

По мне либо сокеты либо curl, но курл тормозит!!! Решайте какой метод выбрать

   
 
 автор: Unkind   (02.08.2007 в 15:59)   письмо автору
 
   для: mihdan   (02.08.2007 в 15:53)
 

Ну так напишите нормальный запрос с помощью fsockopen() для конкретной ситуации, а не копируйте код cheops'а.

   
 
 автор: mihdan   (02.08.2007 в 16:06)   письмо автору
 
   для: Unkind   (02.08.2007 в 15:59)
 

Пожалуйста:


<?php
$hostname 
"localhost";
  
$path "/post.php?var1=val1&var2=val2";
  
$line "";

  if(
$fp fsockopen($hostname80$errno$errstr30)) {    
    
$headers "GET $path HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
fwrite($fp$headers);     
    
fclose($fp); 
  }   
?>  



<?php
$hostname 
"http://localhost.ru";
$path "/post.php?var1=val1&var2=val2";
file_get_contents($hostname.$path);
?>

   
 
 автор: Unkind   (02.08.2007 в 16:47)   письмо автору
 
   для: mihdan   (02.08.2007 в 16:06)
 

Первый код не пройдет. Вы забыли пустую строку.

Второй код будет потребляет оперативную память в том количестве, сколько выдается информации из test2.php.

   
 
 автор: coloboc66   (02.08.2007 в 17:03)   письмо автору
 
   для: Unkind   (02.08.2007 в 16:47)
 

А как убедиться, что скрипт действительно получает нужные данные? У меня не получается почему-то их вывести на страницу вот так:
echo $_GET['var1']

   
 
 автор: Poison   (02.08.2007 в 19:10)   письмо автору
 
   для: coloboc66   (02.08.2007 в 17:03)
 

А как вы узнали что он ничего не выводит?

   
 
 автор: coloboc66   (02.08.2007 в 21:25)   письмо автору
 
   для: Poison   (02.08.2007 в 19:10)
 

А я в файле-передатчике поместил фрейм с файлом-приёмником..

   
Rambler's Top100
вверх

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