Foros del Web » Programando para Internet » PHP »

Subir archivos

Estas en el tema de Subir archivos en el foro de PHP en Foros del Web. Quiero subir archivos desde un equipo cualquiera a un servidor con código PHP en base a las direcciones multiples dadas por el usuario en un ...
  #1 (permalink)  
Antiguo 29/07/2004, 10:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 6 meses
Puntos: 0
Subir archivos

Quiero subir archivos desde un equipo cualquiera a un servidor con código PHP en base a las direcciones multiples dadas por el usuario en un formulario anterior, los datos no estan almacenados nada mas que en una variable global, ¿Como subo los archivos al servidor? ¿Necesito separar la ruta del archivo? Es posible hacerlo, muchas gracias
  #2 (permalink)  
Antiguo 29/07/2004, 11:35
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

A ver si con esto te ayudas un poco:

Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { //preguntas si viene algún archivo

$split_path split("/"$HTTP_POST_FILES['userfile']['name']);
$split_path end ($split_path);
$extension split("[/.]"$split_path); //capturas la extención del archivo

$RUTA_UPLOADED $RUTA_IMG_ROOT "/"//indicas la ruta física del archivo. Esta puede ser la variable del formulario donde eligen donde subirlo

$NOMBRE_FILE "ARCHIVO." .  end($extension);//le das un nombre a tus archivos subidos

move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $RUTA_UPLOADED $NOMBRE_FILE);//mueves los archivos de la carpeta temporal a tu carpeta predefinida.



Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.

Última edición por José Molina; 29/07/2004 a las 12:07
  #3 (permalink)  
Antiguo 29/07/2004, 11:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te recomiendo leer la documentación oficial sobre Upload HTTP vía PHP:

http://www.php.net/manual/en/features.file-upload.php

Las "múltiples" direcciones dadas han de ser introducidas "a mano" por un campo FILE de tu formualrio HTML común donde se va a seleccionar uno por uno el archivo (desde su ruta local en el PC del usuario) a subir.

Un saludo,
  #4 (permalink)  
Antiguo 29/07/2004, 12:06
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

Uhmm, escribi algo mal Cluster??
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #5 (permalink)  
Antiguo 29/07/2004, 12:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
José Molina ..

No es que esté "mal" el código que escribistes .. pero, el uso de los arrays simples $HTTP_POST_FILES y en general de ese tipo de arrays no es recomendable seguir usandolos. Usa preferentemente los arrays superglobales: $_SESSION

La verificación del "tipo" de archivo que haces vía "detectar la extensión" del archivo .. no es del todo segura: ejemplo .. le cambio la extensión a un .exe por .jpg y pasaría si validases así el tipo de archivo (que en tu ejemplo no haces). En ese caso es recomendable ver el fomato MIME del archivo: $_FILES['archivo']['type']

(por otro lado no entiendo la "vuelta" que das con el nombre de archivo . cuando podrías usar simplemente: $HTTP_POST_FILES['userfile']['name'] en el move_uploaded_file() con la ruta concatenada de donde quieras que quede en destino:

move_uploaded_file($_FILES['userfile']['tmp_name'], $RUTA_UPLOADED . $_FILES['userfile']['name']);

Pero bueno .. esto es solo "gustos" .. cada cual vea que nombre ha de quedar el archivo en destino).

Un saludo,


move
  #6 (permalink)  
Antiguo 29/07/2004, 17:03
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Mira esta funcion

http://www.php-hispano.net/archivos/Scripts/181
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #7 (permalink)  
Antiguo 30/07/2004, 09:38
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Perfecto

Saludos.

Definitivamente te pasas Cluster, jejejeje

Si, efectivamente yo mando a validar el tipo de archivo asi:

if (end($extension) == "jpg") {

EJECUTO

}

Pero tengo que caerme a puñal con eso de las superglobales


Ahora lo del nombre es simple gusto mio, por ejempo si subo imagenes de carros, me gusta colocarle a los archivos:

carro_$ID_CARRO.jpg

Por eso lo hago así.

Gracias de todas formas y Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.