Foros del Web » Programando para Internet » PHP »

Subir archivos a la web

Estas en el tema de Subir archivos a la web en el foro de PHP en Foros del Web. Hola!! Tengo en una pagina un bloque para subir actividades a traves de un panel de administracion. Pero tambien quiero que cada actividad tenga un ...
  #1 (permalink)  
Antiguo 09/01/2005, 13:21
 
Fecha de Ingreso: junio-2004
Mensajes: 88
Antigüedad: 19 años, 10 meses
Puntos: 0
Subir archivos a la web

Hola!!
Tengo en una pagina un bloque para subir actividades a traves de un panel de administracion. Pero tambien quiero que cada actividad tenga un archivo que pueda ser descargado pero he probado con los codigos que he encontrado y no me sale. He creado una carpeta llamada descargas por ftp para almacenar alli los archivos y todos los campos los administro a traves de una base de datos. No se si el campo archivo tiene que estar tambien en la tabla de la base de datos como variable o no.
Y tampoco se como hacer para que luego esos archivos puedan bajarse y quitarse de la web con el panel de administracion. Bueno, ya me he liado, a ver si alguien me entiende.
gracias
  #2 (permalink)  
Antiguo 10/01/2005, 10:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero vamos a ver ..

Ya has conseguido subir tu archivo desde tu formulario HTML? .. Será mejor que pongas el código que estás intentando usar para ver donde tienes los problemas.

El archivo puede quedar en tu BD como referencia simplemente (el nombre) en un campo más de tu tabla de tu BD .. también puedes subir completamente el archivo a tu BD en binario ..

Un saludo,
  #3 (permalink)  
Antiguo 12/01/2005, 09:08
 
Fecha de Ingreso: junio-2004
Mensajes: 88
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola!!
El codigo que he probado es este: En la pagina del formulario tengo lo siguiente:
<form enctype='multipart/form-data' action="admiactiv.php" method="post"><input type="hidden" name="MAX_FILE_SIZE" value="100000">
y luego en la etiqueta del archivo tengo:
<tr>
<td class="textoformestilo">ARCHIVO</td>
<td class="casillasformestilo"><input name="archivo_usuario" type="file"/>
</td>
</tr>
- Y al final he puesto lo de subir y la variable para insertar lo del formulario:
<tr>
<td> <input type="submit" value="subir" align="center" />
</td>
</tr>
<tr>
<td colspan="2"></td>
<input type="hidden" name=insertaractiv value=insertaractiv />
<td width="4"></td>
</tr>
</tbody>
</form>

- y en la otra pagina pongo esto:
chmod("$archivo_usuario", 0777);
$directorio = 'descargas'; (la carpeta que he creado en el servidor por ftp)move_uploaded_file($_FILES['archivo_usuario']['tmp_name'], $directorio . $_FILES['archivo_usuario']['name']);

-dentro de:
if ($insertaractiv)

- Bueno, si alguien sabe....porque yo no me entero de nada
Y otra cosa: cuando logras subir archivos( lo que yo quiero es que se los descargue la gente) como hago para que salga como enlace en la web y se descargue???
Gracias
  #4 (permalink)  
Antiguo 13/01/2005, 06:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. tienes unos cuantos errores (vistes la documentación oficial o las FAQ's del foro para probar los ejemplos?):

Código PHP:
// chmod("$archivo_usuario", 0777); esto no corresponde ... quitalo!. Si quieres dar cierto permiso al archivo que subes . .debes darlo bajo el nombre y ruta que queda una vez "movido" .. no en ese punto.

$directorio './descargas/'// debe ser una ruta válida .. a ser posible absoluta. Asumiendo que el directorio descargas está bajo el script.php que ejecutas .. usa los /

move_uploaded_file($_FILES['archivo_usuario']['tmp_name'], $directorio $_FILES['archivo_usuario']['name']); 
Sobre:
-dentro de:
if ($insertaractiv)

no tiene mucho sentido usar una variable "oculta" en tu formulario para validar eso .. guiate por la exitencia al menso de $_FILES['archivo_usuario']['tmp_name']

Código PHP:
if (!emtpy ($_FILES['archivo_usuario']['tmp_name'])){
// haces el move_uploaded_file() ...

Un saludo,

PD: insisto, prueba los ejemplos que veras en las FAQ's y en la documentación oficial de PHP.
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:15.