Stawiam pierwsze kroki z curlem i już mam dylamaty, otóż, prosty skrypt który mi działa:
<?php $post_fields = 'query[as]=a1&query[aa]=aaa1'; $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //follow any redirects curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_URL, "http://localhost/command.php"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //print response page curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); $res = curl_exec($ch); curl_close($ch); ?>
Jednak, że docelowo curl ma być wykorzystywany na wielu podstronach jednego serwisu chce opcję połączenia curla wstawić w funkcję i ją do pliku function.php a na pod stronach tylko się do niej odwoływać:
<?php function curl_send( $COMMAND,$URL="http://localhost/command.php" ) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_USERAGENT,"client API"); curl_setopt($ch,CURLOPT_POSTFIELDS,$COMMAND); curl_setopt($ch,CURLOPT_HEADER,0); $response=curl_exec($ch); // echo "$response<BR>"; curl_close($ch); } // poniższy kod będzie znajdował się na wielu podstronach lecz z inną zawartości "$post": $post = 'query[as]=a1&query[aa]=aaa1'; ?>
Plik command.php:
<?php ?>
Co robię źle, iż curl w funkcji działa lecz tylko gdy odhaszuje "// echo "$response<BR>";" jednak wtedy zwraca wszystko (wynik wszystkich wysłanych parametrów $post, a nie wyświetla to co chce czyli za pomocą "echo "<pre>"; print_r($response); echo "<pre>";" danej zawartości $post?