Foros del Web » Programando para Internet » PHP »

Envio de fichero

Estas en el tema de Envio de fichero en el foro de PHP en Foros del Web. Hola!!! Tengo el siguiente problema, necesito q los usuarios q visiten mi página anexen un fichero. Este es el form desde el cual trato de ...
  #1 (permalink)  
Antiguo 07/12/2002, 06:46
 
Fecha de Ingreso: diciembre-2002
Mensajes: 31
Antigüedad: 21 años, 4 meses
Puntos: 0
Envio de fichero

Hola!!!

Tengo el siguiente problema, necesito q los usuarios q visiten mi página anexen un fichero. Este es el form desde el cual trato de enviar el fichero:

<form enctype="multipart/form-data" action="programa_envio.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Enviar este fichero: <input name="userfile" type="file">
<input type="submit" value="Enviar">
</form>

************* Este el script q debe almacenarlo en c:/mio.

<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'], "c:/mio
} else {
echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
?>

**************** Me sale el siguiente error:

Possible file upload attack. Filename: Boton3.gif, es decir q no esta cargando el fichero en el archivo temporal???? o no esta habiliatada alguna opcion en el PHP q tengo instalado???

Alguien me podria dar una mano con esto.

gracias.
  #2 (permalink)  
Antiguo 07/12/2002, 07:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para hacer "Uploads" tu servidor ha te dener la opción (directiva php.ini) activada:

file_uploads = On

y tienes q indicar un directorio temporal para los Upload's tipo:

upload_tmp_dir =C:\php\uploads
(o el que quieras)

Ajusta esas directivas y reinicia tu servidor HTTP.

También, ... esto:
copy($HTTP_POST_FILES['userfile']['tmp_name'], "c:/mio

el paht de un "windows" no es así .. ademas de (bueno suponemos que fue fallo al copiarlo en el foro) .. ni cierra comillas ni ); ....
copy($HTTP_POST_FILES['userfile']['tmp_name'], "c:\mio");

Un saludo,
  #3 (permalink)  
Antiguo 07/12/2002, 13:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Ademas, el fichero que subas tiene que ser mas pequeño que el tamaño que pones en el campo oculto del formulario. En tu caso el fichero que subas debe ser menor de 1 Kb.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 09/12/2002, 10:25
 
Fecha de Ingreso: diciembre-2002
Mensajes: 31
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias!

He modificado el tamaño, porque no me había dado cuenta de que era tan pequeño, pero sigue sin funcionarme, ya no se que me falla, os vuelvo a mandar el código a ver si encontrais el fallo.

<form enctype="multipart/form-data" action="programa_envio.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="8000000">
Enviar este fichero: <input name="userfile" type="file">
<input type="submit" value="Enviar">
</form>



<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'], "/Recibidos");
} else {
echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
/* ...or... */
//move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/Recibidos");
?>

Gracias y SOCORRO!!!

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 21:32.