Publicentral.com - Promocion en cientos de buscadoresPromocion en cientos de buscadores
Mostrando Codigo - Php
Code

Php - Subir o Upload de un archivo al servidor

Códigos Php

Las funciones que aqui mostramos consiguen subir un archivo de cualquier tipo al servidor, ademas de poder modificar el nombre del archivo.
Visitas: 56,870 - 04-07-2007 00:15:34
CODIGO SIN DEMOSTRACIONNO CONTIENE ARCHIVO DESCARGABLEComentario
EXPLICACION

Comprende de un formulario y dos sencillas funciones:
SUBIR : Que nos permitira hacer el upload del archivo mediante move_uploaded_file
La unica linea necesaria para modificar seria:
echo SUBIR('archivo','/carpeta/');

  1. Archivo: Nuevo nombre que queremos darle al  archivo enviado por el formulario.
  2. /Carpeta/: Nombre de la carpeta o ruta donde sera subido. 
    Debemos de tener en cuenta que la carpeta debe tener permisos de escritura ademas de poner la ruta completa desde el root o base de nuestras paginas.
    Ej. /carpeta/imagenes/amigos/etc... 
    Debe de empezar con el signo / y terminar con el mismo /


detecta_extension: que extrae la extension del archivo para poder renombrarlo al momento de subirlo a nuestro servidor.

Esta seria la forma mas sencilla y customizable que se nos ha ocurrido.
Puede agregarsele restricciones como tipo de archivos, peso del archivo, etc...

Cualquier duda puedes exponer tu comentario.

CODIGO
Codigo probado en ChromeCodigo probado en Mozilla FirefoxCodigo probado en Internet Explorer 7+Codigo probado en OperaCodigo probado en Safari


// Codigo ofrecido por Tutores.org

  1. <form action="" method="post" enctype="multipart/form-data">
  2. <input name="mi_archivo" type="file" />
  3. <input name="" type="submit" value="Subir archivo" />
  4. <input name="accion" type="hidden" value="subir" />
  5. </form>
  6. <?
  7. if(isset($_POST['accion'])){
  8. echo SUBIR('archivo','/carpeta/');
  9. }?>
  10. <?
  11. function SUBIR($nuevo_nombre,$nueva_ruta){
  12. if(@$_FILES['mi_archivo']!==''){
  13. $ruta_total = $_SERVER['DOCUMENT_ROOT'].$nueva_ruta;
  14. $BASENAMES = basename( $_FILES['mi_archivo']['name']);
  15. $nuevo_nombre_completo = $nuevo_nombre.'.'.detecta_extension($BASENAMES);
  16. $ruta_total = $ruta_total . $nuevo_nombre_completo;
  17. if(@move_uploaded_file($_FILES['mi_archivo']['tmp_name'], $ruta_total)) {
  18.    return "El archivo ha subido al servidor correctamente: ".$nueva_ruta .  $nuevo_nombre_completo ;
  19. } else{
  20.     return 'Ha ocurrido un error al subir el archivo';
  21. }
  22. }
  23. }
  24.  
  25. function detecta_extension($mi_extension){
  26. return end(explode(".", $mi_extension));
  27. }
  28. ?>



ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Subir o Upload de un archivo al servidor " href="http://www.tutores.org/codigo/1722/" target="_blank">Subir o Upload de un archivo al servidor </a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Comentario usuario
18-07-2007 14:01:05
1 5
voy a hacer la prueba
Comentario usuario
19-09-2007 20:34:46
5 5
esta bueno el script ,pero al subir otro archivo, como es del mismo nombre,sobre escribe el archivo, como puede hacerce para que este mismo script no renombre el archivo, o que lo renombre pero poniendo mi archivo 1, y despues el mi archivo 2, 3 4 5 etc
Comentario usuario
Razor
1 5
Como puedo poner los archivos subidos debajo del cuadro de subida?
Comentario usuario
21/03/2005 16.36.25
5 5
Hola, oigan y hay alguna forma de que suba un archivo y almacene la ruta en la base de datos o algo asi, lo que quiero es que se muestre en una tabla una liga al archivo subiro.... es para un formulario de registro de eventos pero me gustaria la opcion de subir el archivo y que desde la tabla pudieran abrirlo en ventana nueva!!!

ES posible??
Comentario usuario
09-11-2009 23:54:09
5 5
[B]Hola qtal, el codigo ya lo probado, si da , pero solo se puede subir un archivo, ya q si subes otro, el q habias subido antes se elimina y queda el q recien acabas de subir, mi pregunta es COMO PUEDO HACER PARA Q EL ARCHIVO SUBIDO NO SE BORRE,NO SE SI ME PUEDEN AYUDAR GRACIAS
Comentario usuario
26-01-2011 11:22:02
4 5
Hola,
estoy utilizando vuestro código y me funciona a la perfección pero me iría muy bien tenerlo con las restricciones añadidas que comentais de "tipo de archivo" y "peso".

Muchas gracias y felicidades!
Comentario usuario
ceeck
1 5
Excelente amigo el codigo funciono perfectamenta, felicitaciones pero me gustaria saber si tambien sirve para otros archivos, como mp3, y zip??
Comentario usuario
10-05-2010 21:03:29
5 5
Por favor me podeis indicar como hago que los archivos no cambien de nombre, suban tal cual.
Gracias
Comentario usuario
10-05-2010 21:03:29
5 5
He encontrado la siguiente solución a mi problema, la pongo aquí.
Para subir archivos a un servidor, visitar http://manualdephp.com/codigos-php/subir-archivos.html
Comentario usuario
YoePhp
3 5
felicitaciones me funciono perfectamente, un millon de gracias lo necesitaba
Comentario usuario
25-01-2009 21:04:19
2 5
Baya que el codigo es efectivo, ya lo probe en mi servidor y todo funciona bien. El problema es que si cargo mas de un archivo del mismo tipo me lo reemplaza por el que estaba en el servidor, no me crea uno nuevo, ¿como hago para hacer esta funcion?
Comentario usuario
08-11-2009 21:35:10
4 5
que parte del codigo se modifica para que se guarde con el mismo nombre el archivo,y la ruta que yo quiero
Comentario usuario
José A. Arenas
1 5
Hermano necesito hacer un formulario donde se le introduzca un numero de cédula y me regrese un archivo con los datos de ese número de cédula cómo podría hacerlo, un saludos desde Venezuela-
Comentario usuario
10-06-2010 23:39:40
3 5
Hola como puedo acceder a un excel en mi controlador c# asp.net mvc que me envian en un archivo tipo openxmlformats
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.