Foros del Web » Programando para Internet » PHP »

upload de archivos.

Estas en el tema de upload de archivos. en el foro de PHP en Foros del Web. Tomando el ejemplo del manual de php hize el mismo form que sale ahi <form enctype="multipart/form-data" action="subir.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000"> Send this file: ...
  #1 (permalink)  
Antiguo 06/11/2003, 07:46
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
upload de archivos.

Tomando el ejemplo del manual de php
hize el mismo form que sale ahi

<form enctype="multipart/form-data" action="subir.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

luego el script subir.php es el sgte
es solo para ver el efecto ya que quiero hacer un script para subir un archivo.

<?
echo($HTTP_POST_FILES['userfile']['name']."<BR>");
echo($HTTP_POST_FILES['userfile']['type']."<BR>");
echo($HTTP_POST_FILES['userfile']['size']."<BR>");
echo($HTTP_POST_FILES['userfile']['tmp_name']."<BR>");
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'], "/var/www/html/tmp/mono.gif");
echo("EL ARCHIVO SUBIO");
}else{
echo("El Archivo no subio");
}

?>

no sube nada....

si veo el info.php que tiene un phpinfo()

ahi no sale ningun archivo temporal

upload_tmp_dir
no value no value
que puedo hacer para subir el archivo....

favor alguien me ayude.
__________________
Hoy dia aprendí algo nuevo.
  #2 (permalink)  
Antiguo 06/11/2003, 07:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para empezar.. poner una ruta ahí en esa directiva:

(php.ini)
upload_tmp_dir = algún directorio que exista ..

Se supone que PHP usará el que tenga por defecto el S.O. tipo:
windows => c:\windows
Linux => /tmp

Pero por si acaso y siempre y cuando tengas acceso a tu php.ini (en un servicio de hosting no vas a poder hacer esto) .. configura un directorio temporal donde PHP guardará todo lo que subas vía HTTP hasta que le apliques tu copy() o mejor move_uploaded_file()

Otro consejo: Si usas PHP 4.1.0 en adelante .. usa preferentement el array superglobal $_FILES en lugar de $HTTP_POST_FILES .. eso, junto con sustituir tu copy() por move_uploaded_file()

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 06/11/2003, 07:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Que te muestra por pantalla?

Cambia el value del campo hidden, tal como lo tienes solo "permites" ficheros de menos de un Kb

"ahi no sale ningun archivo temporal". En el phpinfo() sale la informacion de configuracion. Debes mirar los valores de upload_files y upload_max_file.

¿Existe el directorio "/var/www/html/tmp/" y tiene PHP permisos para crear ficheros ahi?

Y usa move_uploaded_file() en lugar de copy().

Posiblemente se me olvide alguna comprobacion. Pero para comenzar, procura contestar esas preguntas.

Suerte.

PD: ¡colision! Cluster, debemos dejar de chocarnos asi. Las neuronas quedan afectadas.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 06/11/2003 a las 08:01
  #4 (permalink)  
Antiguo 06/11/2003, 09:05
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
Gracias amigos, Cluster y josemi siempre tiene voluntad para ayudar.
bueno segui su consejo y cambie algunas cosas,
en el PHP.ini edite la linea del archivo temporal y puse una en la cual tengo acceso a lectura y escritura, ahora una consulta. debo reiniciar PHP para que tome efecto el cambio? como lo hago?
la aplicacion la tengo en un serv. local por lo que no hay poblema para editar el INI.

gracias amigos
__________________
Hoy dia aprendí algo nuevo.
  #5 (permalink)  
Antiguo 06/11/2003, 09:51
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿Servidor local windows? Si es windows, la ruta que pones en el copy() esta mal. La que has puesto es linux. en windows seria algo como "c:/www/".

Y si, hay que reiniciar PHP. Si esta como modulo de Apache, lo que tienes que hacer es reiniciar el servidor web. Y si es otro servidor web, pues tambien, por si acaso.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 06/11/2003, 11:59
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
Gracias.
me salio todo ok.

a el server es linux...

Gracias de nuevo
__________________
Hoy dia aprendí algo nuevo.
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 02:06.