Foros del Web » Programando para Internet » PHP »

Subir archivos al servidor con funciones

Estas en el tema de Subir archivos al servidor con funciones en el foro de PHP en Foros del Web. Hola tengo un problema a la hora de subir archivos al servidor usando funciones... Me explico detalladamente.. Tengo una pagina inicial donde se encuentra un ...
  #1 (permalink)  
Antiguo 09/10/2007, 17:57
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 14 años, 8 meses
Puntos: 1
Exclamación Subir archivos al servidor con funciones

Hola tengo un problema a la hora de subir archivos al servidor usando funciones...

Me explico detalladamente..

Tengo una pagina inicial donde se encuentra un formulario desde donde voy a enviar un archivo al servidor... especificamente son fotos... el codigo es el siguiente:

pagina.php
Código PHP:
<form name="form1"   action="upload.php" method="post" enctype="multipart/form-data">
<
tr>
<
td><input name="foto" type="file"></td>
<
td><input type="submit" name="cmdAceptar"  value="Grabar"></td>
</
tr>
</
form
Como veran todos los datos se envian por el metodo POST a upload.php, donde he declarado una funcion, con el fin de reutilizar el codigo para otros Inputs

upload.php
Código PHP:
//declarando la funcion
function uploadfiles($origen)
{
               
$nombre_archivo $HTTP_POST_FILES[$origen]['name'];
    echo (
$origen.'<br>');
    echo(
$nombre_archivo.'<br>');    
}

//invocando la funcion
uploadfiles('foto'); 
Es aca donde me produce el error, pues a la hora de invocar no me muestra el nombre del archivo que estoy subiendo... sin embargo esta pasando la la variable a la funcion... Como se daran cuenta el problema es con el HTTP_POST_FILES, pero sin embargo si lo utilizo sin la funcion, funciona perfectamente...

Código PHP:
//utilizando de esta manera funciona perfectamente
$nombre_archivo $HTTP_POST_FILES['foto']['name'];
echo (
$nombre_archivo.'<br>');

//sin embargo cuadno utilizo la funcion no :(
uploadfiles('foto'); 
Ojo que el punto no es que suba el archivo.. sino utilizar una funcion con el fin de reutilizar codigo, pues solo quiero pasar el nombre del input de donde proviene el archivo..

Gracias de antemano... y si no esta claroo avisen,para dar mas alcances...

Salu2.
  #2 (permalink)  
Antiguo 09/10/2007, 21:31
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 12 años, 4 meses
Puntos: 2
Re: Subir archivos al servidor con funciones

Te recomiendo cambiar $HTTP_POST_FILES por $_FILES.
Adentro de la funcion agrega
Código PHP:
global $_FILES 
  #3 (permalink)  
Antiguo 10/10/2007, 11:10
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 14 años, 8 meses
Puntos: 1
Re: Subir archivos al servidor con funciones

Podrías indicarme cual es la diferencia de usar $HTTP_POST_FILES y $_FILES para este caso??...

Gracias por las respuestas :)
  #4 (permalink)  
Antiguo 10/10/2007, 11:24
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 12 años, 4 meses
Puntos: 2
Re: Subir archivos al servidor con funciones

http://www.php.net/manual/es/reserve...ariables.files

Saludos
Andres
  #5 (permalink)  
Antiguo 10/10/2007, 12:04
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 14 años, 9 meses
Puntos: 17
Re: Subir archivos al servidor con funciones

Cita:
Iniciado por razcoll Ver Mensaje
Podrías indicarme cual es la diferencia de usar $HTTP_POST_FILES y $_FILES para este caso??...

Gracias por las respuestas :)
$_FILES es superglobal y $HTTP_POST_FILES no, es decir que la primera está accesible desde cualquier lugar de tu script y la última sólo en el scope global
  #6 (permalink)  
Antiguo 10/10/2007, 16:22
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 14 años, 8 meses
Puntos: 1
Re: Subir archivos al servidor con funciones

Gracias andruqui y seppo.. me ayudaron con la funcion y ahora puedo reutilizarla para diferentes input....

Salu2.
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 03:55.