Hola,
Necesito leer un fichero txt para insertar una linea a la vez en Servicio Web remoto.
Yo logro exito solo cuando ejecuto la aplicacion con un solo dato.
Pero se hago la lectura del fichero y intento insertar los datos , no pasa nada.
Gracias por la ayuda.
1 - Ejemplo de la aplicacion funcional solo con un dato.
Código: Seleccionar todo
<?php
set_time_limit(0);
/* API URL */
$url = 'https:..';
$header = array("Authorization: Basic Q09CUkFSUjp2UT..","Content-Type: application/json");
/* Array Parameter Data */
$data = '{"cliente":"8609","acao":"858","motivo":"699","obs":"data-2019-09-20 php"}';
/* Init cURL resource */
$ch = curl_init($url);
/* pass encoded JSON string to the POST fields */
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
/* set the content type json */
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
/* set return type json */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
/* execute request */
$result = curl_exec($ch);
echo $result.'<br>';
/* close cURL resource */
curl_close($ch);
echo 'fim'.'<br>';
?>
2 - Estoy intentando hacer de esta forma
2.1 - Fichero txt con dos lineas
'{"cliente":"8609","acao":"858","motivo":"699","obs":"data-2019-09-20 php"}'
'{"cliente":"8610","acao":"858","motivo":"699","obs":"data-2019-09-20 php"}'
2.2 - Code PHP
Código: Seleccionar todo
/* Envio de multiplas lineas datos */
set_time_limit(0);
$dir = 'C:/00cargas'; // directorio para lectura del fichero
$dir2= 'C:/00cargasok/';
$dh = opendir($dir);
$arq = readdir($dh);
// bucle que para leer todos los ficheros
while (false != ($arq = readdir($dh))){
// evalua ficheros
$exten = substr($arq,strlen($arq)-3,3);
if ($exten != "" && $exten !="." && strtolower($exten) !="jpg" && strtolower($exten) !="gif" && strtolower($exten) !="bmp"){
$cont_lin=0;
$linea="";
$data="";
/* API URL */
$url = 'https:...';
$header = array("Authorization: Basic Q09CUkFSUjp2UThYM....=","Content-Type: application/json");
// abrir fichero
$arquivo = fopen($dir."/".$arq,"r");
// evalua se hay fichero para leer
if ($arquivo){
while (!feof ($arquivo)){
$linea = fgets($arquivo);
$data = substr($linea,0,strlen($linea)-2); // quita el '\r\n'
/* Init cURL resource */
$ch = curl_init($url);
//curl_setopt($ch, CURLOPT_URL, $url);
/* pass encoded JSON string to the POST fields */
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
echo $data.'<br>';
/* set the content type json */
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
/* set return type json */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
/* execute request */
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch).'<br>';
}
/* close cURL resource */
curl_close($ch);
}
fclose($arquivo);
}// cierra el WHILE $arquivo
}// cierra le WHILE exten
}// cierra el WHILE readdir
?>