hola a todos en el foro, esta ocasion mi duda es la siguiente, tengo un script en php para subir fotos desde el disco, pero siempre que carga una me dice que la imagen no es jpg y no la carga, hay algo mal en el codigo, agradezco su ayuda.
Código PHP:
<?php
$pag=$_SERVER['PHP_SELF']; // el nombre y ruta de esta misma página, es para limpiar el codigo y no tener tanto echo por ahi ;//sin espacio aki)
$max = 80000; //en bytes tamaño de imagen
$tama = $_FILES['archivo']['size'];
if ($_FILES['archivo'])
{
if (!is_dir('./banners'))
{ //si no existe el directorio
mkdir('./banners', 0777); //lo creamos
chmod('./banners', 0777); //damos permisos
}
//contamos el numero de fotos que hay y lo almacenamos en la variable $fotos
$fotos = 0;
$dir = opendir('./banners'); //
while ($file = readdir($dir))
{
if ($file != '.' && $file != '..')
{
$fotos++;
}
}
closedir($dir);
$separado = explode('.', $archivo_name); //aqui estaba el fallito
$ext = strtolower($separado[count($separado)-1]); //cogemos la extension (ya en minusculas)
if ($tama > $max)
{
header ("Location: $pag?mensaje=0"); //redireccionamos con header y mostramos mensaje 0
exit;
}
if ($ext == 'jpg')
{
//cambios desde aki
$fotos++; //para empezar a nombrarlas por el 1
$nombre = './banners'.$fotos.'-'.$archivo_name;
move_uploaded_file($archivo, './banners/'.$nombre);
header ("Location: $pag?mensaje=1"); //redireccionamos archivo enviado .
exit;
}
else
{
header ("Location: $pag?mensaje=2"); //redireccionamos no es
exit;
}
}
?>
<?php
if (isset($_GET['mensaje']))
{
$mensaje_accion_ms[0]= 'Tu archivo excede al limite permitido $max.';
$mensaje_accion_ms[1]= 'El archivo ha sido enviado correctamente';
$mensaje_accion_ms[2]= 'El archivo no es una imagen jpg.';
$mensaje_cod = $_GET['mensaje'];
echo "<div align='center'>$mensaje_accion_ms[$mensaje_cod]</div><br>";
}
?>
<p align="center">
Las imagenes no deben exceder los 80 kb.<br/>
Solo se puede subir archivos en formato jpg.</p>
<form enctype="multipart/form-data" method="post">
<div align="center">
<input type="file" name="archivo">
<br>
<input type="submit">
</div>
</form>