Tengo un problema que me tiene realmente desconcertado
Tengo una aplicacion en PHP desarrollada en windows que no me funciona en Linux...
Veamos el problema me ocurre a la Hora de gestionar las imagenes. Cuando subo la imagen y guardo en la base de datos la informacion binaria de la imgen, su tipo y tamaño, que necesito para visualizarla posterirormente.
En windows todo ok, pero en Linux (en el servidor de Explotacion) me ocurre algo raro:
El tamaño de a infor binaria y el que guardo sondiferetes y claro, la imagen no se muestra bien
veamos el codigo que empleo para mostrar la imgane es:
Código PHP:
header("Content-Type: ". $tipo ."\n");
header("Content-Transfer-Encoding: binary\n");
header("Content-length: " . strlen($data) . "\n");
print $data;
además incluyo el código con el que subo la imagen
Código PHP:
...
$nombre=$_FILES["userfile"]["name"];
if(strlen($nombre)>0 )
{
$extensiones=array("jpg","jpeg","gif","png","bmp","ico");
$var = explode(".","$nombre");
$num = count($extensiones);
$valor = $num-1;
$admitido=false;
for($i=0; $i<=$valor; $i++)
{
if($extensiones[$i] == $var[1])
{
$admitido=true;//es una extension valida
break;
}
}
if (!$admitido)
{
echo "extensión no valida";
exit();
}
$data = "";
$userfile = $_FILES['userfile']['tmp_name'];
[COLOR=Sienna]$tamano[/COLOR]=$_FILES["userfile"]["size"];
if ($tamano==0)
{
print "El tamaño de la imagen es 0 <br>". $redir;
exit();
}
[COLOR=Sienna]$tipo[/COLOR]=$_FILES["userfile"]["type"];
//abrir el archivo y guardarlo en $fp= file pointer
$fp = fopen($userfile, "rb");
while(!feof($fp))
{
$data .= fread($fp, 1024);
}
fclose($fp);
$data = addslashes($data);
[COLOR=Sienna]$data [/COLOR] = addcslashes($data, "\0");
}
...
¿A alguien se l eocurre alguna causa de esto?
un saludo y gracias de antemano.