W: Resize to find out!
H: Resize to find out!
Publicado hace: 20 años

Upload de imágenes

Script para subir y renombrar imágenes en un directorio.
(quitar el comentario de la segunda línea)

<?
$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 = "banner".$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 jpg
exit;
}
}
?>
<?
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>

Script programado por Gerald

ser humano

Music & Design & Photo & Bike.

Test, fail, learn, repeat.

24 Responses to “Upload de imágenes”

  1. Sergio dice:

    Algunos errores de sintaxis se presentan por las comillas, revisa las comillas y reemplazalas en tu editor de texto. Saludos

  2. orpll dice:

    Perfecto,
    una gran ayuda.

  3. Subir fotos dice:

    Yo utilizo una pagina nueva para subir fotos de nombre PixaBox. El recurso lo pueden utilizar gratis y sin tantos anuncios en http://www.pixabox.com
    saludos

  4. amadeus dice:

    error de sintaxis, el codigo no sirve

  5. isaac dice:

    si alguien quiere ser mi amigo(a) al siguiente correo electronico isaacdfre@yahoo.es

  6. isaac dice:

    soy isaac de honduras quiero tener amigos de dioferentes paises ,quiero ver imagenes de carros del 2007

  7. Adex dice:

    Buen aporte

  8. emmanuel reyes dice:

    oye ya intente una y otra vez con el codigo,
    pero no me funciona,
    quiziera saver si pues pasarme el codigo ya helaborado,

    lo que quiero es permitir que en mi pagina otras personas suban sus imagenes.(solo imagen jpg)

    pero no funciona.

    la url del sitio es.

    http://ithancraft.iespana.es
    y la url del pa pagina donde quiero que se suban es.

    ithancraft.iespana.es/galeria

    espero puedas ayudarme.

    y gracias.

    a por cierto cual es el peso maximo de la imagen que se puede suvir.

    y si se suve mas en que afectaria?

  9. Sergio dice:

    Prueba darle los permisos (con el filezilla) al script y a las carpetas donde se subiran las imágenes, asumo que el problema qu tienes puede ser por falta de estos permisos.

  10. jose manuel dice:

    hola de nuevo, si a traves de filezila, por ejemplo cambio los atributos del archivo a 644, entonces si se lee, pero de lo contrario no, ¿como puedo subir los archivos con este permiso, para no tener que hacerlo siempre a traves del filezile?. Como supondrás no siempre estaré con el equipo de casa donde tengo esta aplicación …….

  11. jose manuel dice:

    Hola, los archivos me suben, pero cuando los pongo para ver en una pagina, la que sea, no me salen, me sale solo el recuadro donde va la foto pero sin ella

  12. Guest dice:

    La extensión debe ser php, para que abra y/o funcione debe estar colocado en algún servidor con soporte para php, si lo abres directamente en tu navegador dudo que funcione.

  13. gaga dice:

    pregunta: ¿que extension tiene este archivo? porque en php no lo abre y en html sale todo escrito cualquiera

  14. Sergio dice:

    Excelente aDario muchas gracias por tu aporte, voy a revisar eso de las comillas para que no den problemas, gracias otra vez

  15. aDaraio dice:

    Tambien si queremos que sea para mas extenciones, solamente debemos reformar esta linea

    if ($ext == «jpg»)

    por ej:

    if (($ext == «jpg») || ($ext == «gif») || ($ext ==»zip»))

    ahi podremos subir imagenes jpg, gif y archivos .zip

  16. aDaraio dice:

    uhhh salio mal bueno para que las comillas simples aqui salen mal por eso cuando uno copia el codigo no le anda, fijense
    en las matrices q las comillas simples estan mal

  17. aDaraio dice:

    Bueno el script no funciona porq hay un error de codigo que es el siguiente

    son las comillas simples q estan mal. les paso como deberia ser

    $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 = «banner».$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 jpg
    exit;
    }
    }
    ?>
    $mensaje_accion_ms[$mensaje_cod]»;

    }
    ?>

    Las imagenes no deben exceder los 80 kb.
    Solo se puede subir archivos en formato jpg.

  18. Pedro dice:

    como hago funcionar este script quiero ayuda.

  19. Anónimo dice:

    :eek::lol::sad:

  20. russo dice:

    no me funciona

  21. kikaysenso dice:

    gracias por tu explicacion sobre lo del upload de archivos te lo agradesco mucho, esta bueno al fin pude hacerlo para ke funcione en mi web aunke esta de otra manera algunas cosas :cool::cool::twisted: