2011-01-07 21 views
5

ecco il mio codice:PHP CURL al controllore CodeIgniter

<?php 
    $url = 'http://localhost:2304/index.php/testproj/files/add/'; 

    $name = "test"; 
    $fields = array(
      'name'=>urlencode($name) 
    ); 

    $fields_string = ""; 
    foreach($fields as $key=>$value) { 
     $fields_string .= $key.'='.$value.'&'; 
    } 
    rtrim($fields_string,'&'); 

//open connection 
    $ch = curl_init(); 

//set the url, number of POST vars, POST data 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_POST,count($fields)); 
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

//execute post 
    $result = curl_exec($ch); 
    var_dump($result); 
//close connection 
    curl_close($ch); 

?> 

Sto cercando di inviare i dati di post ad un controllore CodeIgniter. Ho deciso di usare CURL per fare il lavoro. tuttavia, non funziona, quando inserisco "blah" nel mio controller, non restituisce nulla. Quando accedo direttamente all'URL, mostra "blah".

risposta

17

Si potrebbe usare il mio Curl library:

$this->load->library('curl'); 
$result = $this->curl->simple_get('http://example.com/'); 
var_dump($result); 
+0

grazie, sei il mio dio. :) Sono un avido lettore del tuo blog, io uso ion_auth, vedo il tuo nome apparire ovunque io vada in giro usando il codeigniter. Grazie! – tpae

+0

Grazie, ho usato CI per un po ', quindi ho avuto molto tempo per scrivere cose. Spero che la biblioteca funzioni per te :) –

4

Prova ad aggiungere questo in opzioni

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 

Modifica 1

aggiungere questo

curl_setopt($ch, CURLOPT_HEADER, 1); 
// and post the result of $result 
+0

non ha funzionato .... – tpae

+0

riprova con modifica 1 e pubblica la risposta – Ish