Jump to content

error formato de imagen no reconocida


el_gota

Recommended Posts

Hola gente cuando intento subir una imagen me da este error y no me lo guarda

formato de imagen no reconocida; use los formatos: gif, .jpg, .png

y la imagen claro es de esos formatos y he probado con diferentes tamaños.

teneis alguna idea de porque puede pasar esto???

Link to comment
Share on other sites

Hola,

Me pasa lo mismo. Acabo de instalar prestashop y cuando quiero cambiar cualquier imagen me da el error siguiente

1 error

1. formato de imagen no reconocida; use los formatos: gif, .jpg, .png

He incluído la imagen en todos esos formatos y me sigue dando el error. Descargo la foto que aparece y la intento subir y me sigue dando el error.

Tengo la versión 1.3.4.0.

Link to comment
Share on other sites

A MI ME OCURRE LO MISMO EN LA VERSION 1.3.4.0 DA IGUAL EL FORMATO DE IMAGEN QUE SUBAS QUE DA ERROR formato de imagen no reconocida; use los formatos: gif, .jpg, .png
HE CAMBIADO LOS PERMISOS Y NADA.


Hola a todos, Solución para el rollito de las imágenes....

No son los permisos es que faltaron algunas llaves en un elseif. En concreto en las líneas 82 y 88, que deben quedar de esta manera. Ahh, es el archivo images.inc.php.

   elseif (function_exists('exec'))
   { // Esta llave faltaba
       $mime_type = trim(exec('file -b --mime-type '.escapeshellarg($file['tmp_name'])));
   if (!$mime_type)
       $mime_type = trim(exec('file -bi '.escapeshellarg($file['tmp_name'])));
   else
       $mime_type = trim(exec('file --mime '.escapeshellarg($file['tmp_name'])));
  }  // Y esta tambien



Mi web es http:// www.grafycomp.com y a mi lo que no me funciona, ahora, es el correo smtp, pero estoy en ello, si alguien me ayuda mejor que mejor, es que no tengo servidor con IP estática y entonces tengo problemas para enviar correos fuera, por eso busco un smtp que me deje validarme para enviar (aunque he probado con el de google y los correos no llegan :?)

Link to comment
Share on other sites

Hola,

Al final parece que sí era ese el problema, las dos llaves que faltaban. He vuelto a revisar el archivo, línea a línea y faltaban. Lo he corregido y voilà, funciona la subida de imágenes.

Gracias por la ayuda rutame

Un saludo
Antxon

Link to comment
Share on other sites

pues me lo baje ahora en enero-11 y si esta puesto y me da el error
esta son la lineas y estan las dos llaves
{
$const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
$finfo = finfo_open($const);
$mimeType = finfo_file($finfo, $file['tmp_name']);
finfo_close($finfo);
}
elseif (function_exists('mime_content_type'))
$mimeType = mime_content_type($file['tmp_name']);
elseif (function_exists('exec'))
{
$mimeType = trim(exec('file -b --mime-type '.escapeshellarg($file['tmp_name'])));
if (!$mimeType)
$mimeType = trim(exec('file --mime '.escapeshellarg($file['tmp_name'])));
if (!$mimeType)
$mimeType = trim(exec('file -bi '.escapeshellarg($file['tmp_name'])));
}

if (empty($mimeType) OR $mimeType == 'regular file')
$mimeType = $file['type'];
if (($pos = strpos($mimeType, ';')) !== false)
$mimeType = substr($mimeType, 0, $pos);

return $mimeType && in_array($mimeType, $types);
}

Link to comment
Share on other sites

hola,

al finalhice la correcion lo otro era de otras lineas,pero me sigue dando el mismo error, estas son las que puse
{
$mimeType = trim(exec('file -b --mime-type '.escapeshellarg($file['tmp_name'])));
if (!$mimeType)
$mimeType = trim(exec('file --mime '.escapeshellarg($file['tmp_name'])));
if (!$mimeType)
$mimeType = trim(exec('file -bi '.escapeshellarg($file['tmp_name'])));
}
Como ves estan las llaves, alguna idea, porqueno puedo subir ninguna ni en productos ni en categorias.

gracias

Link to comment
Share on other sites

Veo en el foro de inglés que la solución está en reemplazar la función isPicture dentro de images.inc.php con esto:

/**
* Check image MIME type
*
* @param string $file $_FILE of the current file
* @param array $types Allowed MIME types
*/
function isPicture($file, $types = NULL)
{
   /* Detect mime content type */
   $mimeType = false;
   if (!$types)
       $types = array('image/gif', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
   /* Try 4 different methods to determine the mime type */
   if (function_exists('finfo_open'))
   {
       $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
       $finfo = finfo_open($const);
       $mimeType = finfo_file($finfo, $file['tmp_name']);
       finfo_close($finfo);
   }
   elseif (function_exists('mime_content_type'))
   {
       $mimeType = mime_content_type($file['tmp_name']);
   }
   elseif (function_exists('exec'))
   {
       $mimeType = trim(exec('file -b --mime-type '.escapeshellarg($file['tmp_name'])));
       if (!$mimeType)
           $mimeType = trim(exec('file --mime '.escapeshellarg($file['tmp_name'])));
       if (!$mimeType)
           $mimeType = trim(exec('file -bi '.escapeshellarg($file['tmp_name'])));
   }
   if (empty($mimeType) OR $mimeType == 'regular file')
       $mimeType = $file['type'];
       /* For each allowed MIME type, we are looking for it inside the current MIME type */
   foreach ($types AS $type)
       if (strstr($mimeType, $type))
           return true;
       return false;
}



¡Yo lo he probado y perfecto!

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...