Foros del Web » Programando para Internet » PHP »

cURL obtener datos

Estas en el tema de cURL obtener datos en el foro de PHP en Foros del Web. Hola! Tengo un txt de donde tengo que leer datos por webservice, para esto utilicé el siguiente código que funciona sin problemas. Código PHP: <?php ...
  #1 (permalink)  
Antiguo 17/11/2011, 14:17
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
cURL obtener datos

Hola!
Tengo un txt de donde tengo que leer datos por webservice, para esto utilicé el siguiente código que funciona sin problemas.

Código PHP:
<?php
$c 
curl_init('http://www.mipagina.com/miarchivo.txt');
curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
$page curl_exec($c);
curl_close($c);
echo 
$page;
?>
La idea es que a través de un formulario como este:

Código HTML:
<form id="form1" name="form1" method="post" action="search.php">
  
  código <input type="text" name="codigo" id="codigo" />
  
  <input type="submit" name="button" id="button" value="Buscar" />
  
</form> 
pueda buscar un código específico, encontré algo pero no se como desarrollar la búsqueda dentro de cURL y que me devuelva los datos relacionados con ese código, dado que el txt no es otra cosa que una base de datos separadas por ;

Código PHP:
<?php
$ch 
curl_init("http://www.mipagina.com/codigo.php");
curl_setopt ($chCURLOPT_POST1);
curl_setopt ($chCURLOPT_POSTFIELDS"var=codigo"); 
curl_setopt($chCURLOPT_RETURNTRANSFER0);
curl_exec ($ch);
curl_close ($ch);
?>
Se puede lograr esto?
Espero puedan ayudarme. Desde ya muchas gracias.
__________________
Saludos!!!
Maru.-
  #2 (permalink)  
Antiguo 17/11/2011, 14:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: cURL obtener datos

Tal como lo pones te debería de funcionar, ¿ya lo intentaste?
  #3 (permalink)  
Antiguo 17/11/2011, 14:29
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: cURL obtener datos

Si, pero no me devuelve ningún resultado, no muestra nada.

Los 3 códigos que puse los tengo en tres archivos separados y utilizo el del formulario que conecta al de buscar.

Pienso que me falta algo para recorrer el txt y me traiga por ejemplo nombre, domicilio, teléfono del cliente con código 100.
__________________
Saludos!!!
Maru.-
  #4 (permalink)  
Antiguo 17/11/2011, 14:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: cURL obtener datos

Lo que tienes que haces es que en la pagina remota donde estas obteniendo los datos, sepas bien que datos son los que recibe la pagina, ya que esos varian dependiendo de la url que estas leyendo.

Saludos.
  #5 (permalink)  
Antiguo 17/11/2011, 14:39
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: cURL obtener datos

Los datos que recibe la página son precisamente código, nombre, domicilio, teléfono, etc el código no varía, si Juan tiene código 100 siempre será el mismo, entonces por el form si ingreso 100 debería traerme todos los datos de Juan.
__________________
Saludos!!!
Maru.-
  #6 (permalink)  
Antiguo 17/11/2011, 15:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: cURL obtener datos

Si pero tienes que conocer, por ejemplo si el script remoto fuera así:
Código PHP:
Ver original
  1. <?php
  2. // nombre a buscar
  3. $nombre = $_POST['nombre'];
  4.  
  5. // buscar con $nombre

Entonces en cURL tendríamos que pasar:
Código PHP:
Ver original
  1. <?php
  2. $ch = curl_init("http://www.mipagina.com/buscar.php");
  3. curl_setopt ($ch, CURLOPT_POST, 1);
  4. curl_setopt ($ch, CURLOPT_POSTFIELDS, "nombre=juan");
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  6. curl_exec ($ch);
  7. curl_close ($ch);

Ya que el script espera el parámetro de nombre en el POST, así lo tienes que hacer por cada campo que quieras buscar.

Saludos.
  #7 (permalink)  
Antiguo 17/11/2011, 15:26
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: cURL obtener datos

GatorV, mil gracias por tu tiempo y paciencia!

Necesito reordenar un poco las cosas porque me perdí en algún concepto.

Tengo un archivo form.php donde está el formulario

Código HTML:
<form id="form1" name="form1" method="post" action="buscar.php">
  
  código <input type="text" name="codigo" id="codigo" />
  
  <input type="submit" name="button" id="button" value="Buscar" />
  
</form> 

y en buscar.php tendría que agregar

Código PHP:
$ch curl_init("http://www.mipagina.com/buscar.php");
curl_setopt ($chCURLOPT_POST1);
curl_setopt ($chCURLOPT_POSTFIELDS"nombre=juan"); 
curl_setopt($chCURLOPT_RETURNTRANSFER0);
curl_exec ($ch);
curl_close ($ch); 
Preguntas:

1)
Código PHP:
$ch curl_init("http://www.mipagina.com/buscar.php"); 
porque va a buscar.php? no tendría que ir miarchivo.txt?

2)
Código PHP:
$nombre $_POST['nombre']; 
donde colocaría este código?

3) sigo sin entender como recorre el txt para levantar un dato puntual.

Disculpas por tantas vueltas pero quiero entender lo que estoy haciendo.
__________________
Saludos!!!
Maru.-
  #8 (permalink)  
Antiguo 17/11/2011, 15:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: cURL obtener datos

De hecho eso es lo que tú tienes que hacer como programador, cURL no va a recorrer por tí el archivo y darte los datos, eso es lo que tu tienes que hacer.

El código que te indico es un supuesto de lo que debería de existir en el buscador remoto, que es el que tiene que abrir el archivo txt y buscar por los datos que tu le mandes de entrada.

cURL lo único que hace es hacer un request HTTP por ti, el recurso remoto al cual estas accediendo por HTTP es el que hace esa tarea, de buscar y darte los datos que le pides.

Saludos.
  #9 (permalink)  
Antiguo 17/11/2011, 16:04
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: cURL obtener datos

Quizás no me explico bien o no estoy entendiendo.

Comúnmente he hecho búsquedas de datos con un form y un scrip correspondiente pero apuntados a una base de datos, lo que no se es como levantar los datos desde el txt, es como que hice cosas sueltas: levantar el txt por un lado pero no se como implementar el resto.

Gracias!
__________________
Saludos!!!
Maru.-
  #10 (permalink)  
Antiguo 17/11/2011, 16:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: cURL obtener datos

Ah pues eso es muy diferente, como te digo cURL no es un buscador, necesitas entonces leer el TXT linea a linea e ir buscando el texto que quieras encontrar, por ejemplo:
Código PHP:
Ver original
  1. $buscar = "juan";
  2. $lineas = file("archivo.txt");
  3. for ($i = 0; $i < count($lineas); $i++) {
  4.         if (stripos($lineas[i], $buscar) !== false) {
  5.                    echo "se encontro $buscar en: " . $lineas[$i];
  6.         }
  7. }

Es solo un ejemplo pero te puede dar una idea de como ir buscando las cosas.

Saludos.
  #11 (permalink)  
Antiguo 19/11/2011, 06:55
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: cURL obtener datos

Gracias por tu ayuda GatorV!!!
__________________
Saludos!!!
Maru.-

Etiquetas: curl, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:53.