Foros del Web » Programando para Internet » PHP »

como binarizar un archivo en PHP

Estas en el tema de como binarizar un archivo en PHP en el foro de PHP en Foros del Web. Hola tengo archivo .txt, necesito binarizarlo en PHP, unicamente tengo la version en Java que es: byte[] archivoATI = File.ReadAllbytes("C :\Archivo.txt); y luego lo envio ...
  #1 (permalink)  
Antiguo 04/07/2011, 13:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
como binarizar un archivo en PHP

Hola tengo archivo .txt, necesito binarizarlo en PHP, unicamente tengo la version en Java que es:

byte[] archivoATI = File.ReadAllbytes("C :\Archivo.txt);

y luego lo envio como parametro en funcion asi:

ReceptorCFDI( archivoATI, "RFC","USUARIO","CONTRASEÑA");

Cual sería el equivalente en PHP, de estas 2 lineas, sobre todo la primera?

gracias
saludos,
mariovi40
  #2 (permalink)  
Antiguo 04/07/2011, 13:13
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: como binarizar un archivo en PHP

http://de3.php.net/manual/es/function.fwrite.php
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 04/07/2011, 14:15
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Hola repara2, gracias por tu mail, intente lo siguiente:

Código PHP:
Ver original
  1. $vlineas = file("FacturaATI.txt");
  2. $handling = fopen("enbinario", 'wb');
  3. foreach ($vlineas as $sLinea)
  4.     {
  5.     fwrite($handling, $sLinea);
  6.     }
  7. fclose($handling);

Cuando veo el archivo "enbinario" con notepad, me muestra el archivo como si fuera texto. Cuando se muestran simbolos extraños, es porque ya esta en binario, no?
saludos,
mariovi40
  #4 (permalink)  
Antiguo 04/07/2011, 14:28
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: como binarizar un archivo en PHP

Como qué quieres convertir algo a binario y no sabes lo que es el binario!? Cómo que símbolos extraños?
El binario consiste en 1 y 0!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 04/07/2011, 14:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Hola Estimado sourcegeek, antaño (epoca de msdos), cuando ponias type archivo, te salia el archivo si era tipo texto. Si el archivo contenia 1 y 0, salian simbolos raros, a lo mejor a ti no te toco. Claro si el archivo tiene 1s y 0s, como caracteres, te apercerian 100101010,etc,etc. pero no es el caso. saludos, mariovi40
  #6 (permalink)  
Antiguo 04/07/2011, 14:44
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: como binarizar un archivo en PHP

No creo. Si un archivo contiene 1 y 0, sale 1 y 0.
Si el archivo contiene simbolos raros, salen simbolos raros.

Es decir, mientras no salgan 1s y 0s, tu archivo no está en binario, puede que tenga una codificación distinta (pasa como las letras con acentos, se convierten de UTF-8 a ANSI y aparecen como símbolos raros)

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #7 (permalink)  
Antiguo 04/07/2011, 14:48
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Como cuando le das un type (en ventana de ms-dos) a Mysql.exe. intentalo, aparecen hasta corazoncitos
  #8 (permalink)  
Antiguo 04/07/2011, 14:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Yo pensaria que si paso mi archivo tipo texto a binario, deberian aparecer estos simbolos raros, porque precisamente esta en binario, pero no es asi, por eso tengo la duda si funciona el fwrite o no
  #9 (permalink)  
Antiguo 04/07/2011, 14:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

caso sencillo: ejecute fwrite($handling, ord("a"));
con type, me muestra el archivo un 97, lo cual esta bien, porque es el valor binario de la letra a, pero que tiene el archivo, la cadena "97", o en realidad tiene 1100001, pero win lo convierte a numero al mostrarlo en pantalla. tengo xp.
  #10 (permalink)  
Antiguo 04/07/2011, 15:20
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: como binarizar un archivo en PHP

XD no entiendo bien que andas haciendo ni que quieres hacer
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #11 (permalink)  
Antiguo 04/07/2011, 15:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Necesito usar un web service, el cual recibe como argumentos, RFC, usuario, contraseña y un archivo (FacturaATI.txt). El cual debe estar binarizado, me dieron el codigo en java, pero en php, la parte del archivo no la entiendo bien. Me falta definir las ??? en el siguiente codigo:

Código PHP:
Ver original
  1. <?
  2. require_once('../../php6/lib/nusoap.php');
  3. $oSoapClient = new soapclient('http://174.121.75.155/generadorIMTA/ReceptorATI.asmx', false);
  4. $aParametros = array("RFC" => "UUR900520PI9",
  5.                                    "Usuario" => "Info",
  6.                                    "Password" => "",
  7.                                    "nombre" => "FacturaATI.txt",
  8.                                    "archivo" => ????);
  9.  
  10. $aRespuesta = $oSoapClient->call("Receptor", $aParametros);
  11. echo "R:$aRespuesta[0]";
  12. ?>

Como binarizo FacturaATI.txt?

La primera parte de este archivo se ve asi:
Inicio
/BanderasDeProcesamiento
CuentasEmailEnvio
CorreoNotificacion [email protected]
Remitente [email protected]
/Comprobante
Serie
Folio
Fecha 2011-05-23T12:31:02 etc etc
  #12 (permalink)  
Antiguo 04/07/2011, 16:59
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: como binarizar un archivo en PHP

¿Que quieres pasar a binario, el texto del archivo o el archivo en sí mismo?

Si es lo primero deberás usar varias funciones, puedes ir empezando por ver decbin().
Si es lo segundo quizás te sirva como base el aporte el primer tema de aportes PHP de Cluster;
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #13 (permalink)  
Antiguo 05/07/2011, 08:54
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Hola Iekk, en la documentacion dice que SOAP automaticamente un base64_encode() sobre $vlineas, por eso pongo $vlineas directamente, he intentado lo que sigue

Código PHP:
Ver original
  1. $vlineas = file("FacturaATI.txt");
  2. $aParametros = array("RFC" => "UUR900520PI9",
  3.                                    "Usuario" => "delicias",
  4.                                    "Password" => "delicias",
  5.                                    "nombre" => "FacturaATI.txt",
  6.                                    "archivo" => $vlineas);
  7. $aRespuesta = $oSoapClient->call("Receptor", $aParametros);
  8. echo "R:$aRespuesta";

Esto imprime

R:Array


Y cuando cambio la impresión a $aRespuesta[0] no imprime nada
saludos,
mariovi40
  #14 (permalink)  
Antiguo 05/07/2011, 09:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como binarizar un archivo en PHP

¿Y si haces debug completo de la variable?
Código PHP:
print_r($aRespuesta); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 05/07/2011, 09:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Hola pateketrueke, cuando ejecuto esto al final:

Código PHP:
Ver original
  1. print_r($aRespuesta);
  2. echo "<br>";
  3. foreach ($aRespuesta as $sLinea)
  4.     {
  5.                echo  "LINE: " .$sLinea."<br>";
  6.     }
Sale esto:
Array ( [faultcode] => soap:Client [faultstring] => Server did not recognize the value of HTTP Header SOAPAction: . [detail] => )
LINE: soap:Client
LINE: Server did not recognize the value of HTTP Header SOAPAction: .
LINE

Creen saber que esta pasando?
gracias, saludos, mariovi40
  #16 (permalink)  
Antiguo 05/07/2011, 10:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como binarizar un archivo en PHP

Cita:
Iniciado por mariovi40 Ver Mensaje
[...] Creen saber que esta pasando?
Yo creo que si, ¿puedes leer?

Cita:
Iniciado por mariovi40 Ver Mensaje
[...] Server did not recognize the value of HTTP Header SOAPAction: .
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 05/07/2011, 11:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

Hola pateketrueke, de acuerdo, no reconoce el servidor, pero como se corrige esto, esta es la duda.
saludos,
mariovi40
  #18 (permalink)  
Antiguo 05/07/2011, 11:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como binarizar un archivo en PHP

Cita:
Iniciado por mariovi40 Ver Mensaje
Hola pateketrueke, de acuerdo, no reconoce el servidor, pero como se corrige esto, esta es la duda.
saludos,
mariovi40
Creo que necesitas usar algún traductor, o algo así.

El mensaje de error no dice eso que crees, realmente dice algo así:
Cita:
El servidor no reconoce el valor de la cabecera HTTP SOAPAction: .
Imagino que el . (punto) tiene algo que ver, ¿pues ahí te indica algo?

Es imposible entender lo que te sucede, pues no sabemos el contexto donde ejecutas lo que planteas.

Solo podemos decirte que a nivel de código no tienes errores de sintaxis, así que el problema no es ese, seguro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 05/07/2011, 11:53
 
Fecha de Ingreso: marzo-2008
Mensajes: 75
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: como binarizar un archivo en PHP

La compañia que tiene el web service, me envia codigo en .NET, como ayuda, asi:
Código ASP:
Ver original
  1. ReceptorATI.DatosCFDI resultado = new ReceptorATI.DatosCFDI();
  2.  
  3.       byte[] data = File.ReadAllBytes(@"C:\Clientes\IMTA\ATI\ati6.TXT");    
  4.  
  5.       ReceptorATI.ReceptorATICFDI obj1 = new ReceptorATI.ReceptorATICFDI();
  6.  
  7.       resultado = obj1.ReceptorCFDI(data, "RFc", "usuario", "contraseña");
Solo necesitaria saber la funcion equivalente a ReadAllBytes en PHP, hay alguna?
saludos,
mariovi40
  #20 (permalink)  
Antiguo 05/07/2011, 12:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como binarizar un archivo en PHP

Supongo que sería file_get_contents()
http://php.net/file_get_contents
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
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 12:55.