Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2011, 23:00
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Problemas con unpack

Hola.

mmm me da a pensar que el servidor donde estas ejecutando no es el mismo.

¿El servidor donde ejecutas tu script bajo PHP v5.3 es diferente al servidor donde ejecutas tu script bajo PHP v5.2?

Porque el error podría no estar en la versión de PHP si no el tamaño de palabra de los procesadores en los que corre el servidor. 32bits y 64 bits....

mira lee esto primero:
http://mx.php.net/manual/es/function.unpack.php#106041

Y después:

Cita:
Iniciado por php.net/manual/es/function.pack.php
Precaución
Observe que PHP almacena internamente los valores de tipo integer como valores con signo de tamaño dependiente de la máquina (de tipo long de C). Los literales de tipo integer y las operaciones que producen números fuera de los límites del tipo integer serán almacenados como float. Cuando se empaquetan estos floats como integers, primero son convertidos al tipo integer. Esto puede o no puede resultar en el patrón de bytes deseado.

El caso más relevante es cuando se empaquetan números sin signo que serían representables con el tipo integer si fueran sin signo. En sistemas donde el tipo integer tiene un tamaño de 32 bits, la conversión normalmente resultará en el mismo patrón de bytes que si el tipo integer fuera sin signo (aunque esto depende de las conversiones de con signo a sin signo definidas en la implementación, conforme al estándar de C). En sistemas donde el tipo integer tiene un tamaño de 64 bits, el tipo float casi con toda seguridad no tendrá una mantisa suficientemente grande para mantener el valor sin pérdida de precisión. Si esos sistemas también tienen un tipo int de C de 64 bits nativo (al contrario que la mayoría de sistemas basados en UNIX), la única forma de usar el formato de empaquetación I en el rango superior es crear valores integer negativos con la misma representación de bytes que el valor sin signo deseado
Me da que el error va por aquí. Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.