SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: cesand en Jueves 25 de Marzo de 2010, 04:49

Título: upload con funcion
Publicado por: cesand en Jueves 25 de Marzo de 2010, 04:49
hola gente...

estoy tratando de hacer una funcion para llamar con un require() que haga un upload..
en principio tengo algo asi:

function upload()
{
$nombre_archivo = $_FILES['archivo']['name'];
$peso_archivo = $_FILES['archivo']['size'];
// ************************************************* verifica peso del archivo
if ($peso_archivo > '100000')
{
echo "el archivo sobrepasa los 100kb";
exit;
      } //CIERRA IF PESO ARCHIVO
// ************************************************ verifica que sea jpg      
if (!(strpos($nombre_archivo, 'jpg')))
{
echo "el archivo debe ser jpg";
exit;
}

// ************************************************** sube el archivo

if(move_uploaded_file($_FILES['archivo']['tmp_name'], $nombre_archivo))
{
echo $nombre_archivo;

   }

}

la funcion trabaja por lo menos el archivo lo sube lo unico que al form en el input  file lo tengo que llamar 'archivo ' si o si
me pueden dar un mano a mejorarla en ves de echo quiero recuperar por ejemplo el nombre del archivo con return pero no me sale..

espero algunas ayudas para mejorar la upload()


gracias desde ya
Título: Re: upload con funcion
Publicado por: DriverOp en Jueves 25 de Marzo de 2010, 11:43
Si cambias el name del input tipo file entonces debes cambiar lo que está en rojo aquí: $_FILES["archivo"]

Cambia
Código: PHP
  1.  echo $nombre_archivo;
  2.  
por
Código: PHP
  1.  return $nombre_archivo;
  2.  
Título: Re: upload con funcion
Publicado por: cesand en Viernes 26 de Marzo de 2010, 00:49
muchas gracias driverop, es lo que estaba haciendo y no me resulta.. mira pongo asi la ultima parte de la fn:

if(move_uploaded_file($_FILES['archivo']['tmp_name'], $nombre_archivo))
{
return $nombre_archivo;
}
} // CIERRA FN UPLOAD

despues en el otro archivo donde llamo a la funcion para probar si me recupera el valor no lo hace :unsure: lo hago de esta forma solamente para comprobar que imprime el valor:

upload();
echo $nombre_archivo;

pero no recupera nada <_<
en que le estare errando?
Título: Re: upload con funcion
Publicado por: DriverOp en Viernes 26 de Marzo de 2010, 10:23
Es la llamada a la función la que devuelve el valor que está en return:

Código: PHP
  1. $NomArch = upload();
  2. echo $NomArch;
  3.  

o bién:

Código: PHP
  1. echo upload();
  2.  
Título: Re: upload con funcion
Publicado por: cesand en Viernes 26 de Marzo de 2010, 18:50
MIL MIL GRACIASSSSS otra vez mas driverOp y gracias tambien por la paciencia por ahi como esta ultima que hice es media tonta pero la verdad no savia era asi.

suerte amigo hasta la proxima