2011-12-21 3 views
1

я делаю следующее с Curl:

$authentication = $_POST['username'] . ':' . $_POST['passwd']; 

$params = array(
      'id' => '12', 
      'field1' => 'field1text', 
      'field2' => 'field2text', 
      'field3' => 'field3text', 
      'screenshots' => 'screenshots', 
      'videoLinks' => 'videoLinks' 
     ); 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, 'http://www.domain.com/scripts/curl/index_curl_general.php'); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_USERPWD,$authentication); 
     curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
     curl_setopt($ch, CURLOPT_REFERER,'http://www.domain.com.au'); 
     curl_setopt($ch, CURLOPT_POSTFIELDS,$params); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); 
     $result = curl_exec($ch); 
     curl_close($ch); 
     echo $result; 

Я найти я могу видеть имя пользователя и пароль с этим кодом - на стороне сервера в index_curl_index.php

print $_SERVER['PHP_AUTH_USER']; 
print $_SERVER['PHP_AUTH_PW']; 

Но я могу показаться, что смогу увидеть данные $params. Я пробовал следующее:

var_dump($_POST); 
print_r($_POST); 

но он всегда отображается как пустой массив. Как я могу показать эти данные? и есть ли лучший способ передать эти данные?

+0

Вы хотите передать '$ params' как' CURLOPT_POSTFIELDS' (а не '$ temp');) – Quasdunk

+0

не могли бы вы поместить свою '$ temp'? – abhinav

+0

Я обновил вопрос сейчас ... Я пробовал $ params, и я все еще получаю пустой массив на принимающей стороне. любые другие идеи? – Adam

ответ

0
curl_setopt($ch, CURLOPT_POSTFIELDS,$temp); 

должен быть

curl_setopt($ch, CURLOPT_POSTFIELDS,$params); 

Есть ли «лучше» способ передачи данных вокруг зависит в значительной степени от того, что именно вы хотите достичь. cURL - очень мощная библиотека, с которой вы можете выполнить почти все. Большинство из них вы также можете использовать с file_get_contents(), определяя HTTP-материал в context, поэтому некоторые люди считают cURL как overkill. Лично я предпочитаю file_get_contents (без какой-либо конкретной причины, на самом деле), но я не знаю никаких различий в производительности и т. Д.

+0

ya Это была опечатка - я пробовал $ params и не работает ... – Adam

Смежные вопросы