Foros del Web » Programando para Internet » PHP »

Upload files: Paso de parámetros a un php

Estas en el tema de Upload files: Paso de parámetros a un php en el foro de PHP en Foros del Web. Tengo el siguiente problema. Ya he visto que existen varios post respecto a la subida de archivos, pero no he conseguido solucionarlo. Se trata de ...
  #1 (permalink)  
Antiguo 05/12/2003, 04:22
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 20 años, 7 meses
Puntos: 0
Upload files: Paso de parámetros a un php

Tengo el siguiente problema. Ya he visto que existen varios post respecto a la subida de archivos, pero no he conseguido solucionarlo. Se trata de un formulario web que se crea dinamicamente mediante IAS de oracle y a traves de php almacena un fichero en el servidor. Este es el codigo fuente:

......................
htp.p('<FORM ENCTYPE="multipart/form-data" ACTION="http://nombre.servidor.es:8105/upload.php" METHOD="POST">');
htp.bold(' Seleccione la imagen a guardar');
htp.formhidden('MAX_FILE_SIZE','1000000');
htp.tableopen('border=0');
htp.tablerowopen;
htp.p('<td>');
htp.p('Fichero:');
htp.p('<INPUT type="file" name="archivo" size="35">');
htp.p('</td>');
htp.p('<td>');
htp.p('</td>');
htp.tablerowclose;
htp.tableclose;
htp.formsubmit('Aceptar','Aceptar');
htp.bodyClose;
htp.htmlClose;


el cual crea una pagina dinamica generando el siguiente codigo html:

<HTML>
<HEAD>
..................
<FORM ENCTYPE="multipart/form-data" ACTION="http://nombre.servidor.es:8105/upload.php" METHOD="post">
<B> Seleccione la imagen a guardar</B>
<BR>
<BR>
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000000">
<TABLE border=0>
<TR>
<td>
Fichero:
<INPUT type="file" name="archivo" size="35">
</td>
<td>
</td>
</TR>
</TABLE>
<INPUT TYPE="submit" NAME="Aceptar" VALUE="Aceptar">
</td>
</BODY>
</HTML>


El fichero php contiene el siguiente codigo, esta testeado funciona, no da errores, es el siguiente:

<?php
$imgname = $_FILES['archivo']['name'];
if($imgname){
if(!(copy($_FILES['archivo']['tmp_name'],"/tmp/" . $imgname)))
{
die("No se han podido subir los ficheros");
}
else{
echo "Fichero copiado<br>";
}
}
else {
echo "No se han pasado parámetros. ";
echo "Fichero y nombre: ";
echo $_FILES['archivo']['name'];
}
?>


Bien, pues me muestra siempre el "No se han pasado parametros". He usado un get tambien y puedo ver que parece que los parametros se pasan bien, o no se. Weno, alguna idea?

Gracias
  #2 (permalink)  
Antiguo 05/12/2003, 04:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Dices que el script esta testado, pero ¿en ese servidor concreto? Es que si me dices que ese es el HTML generado, me parece que esta correcto. E imagino que el navegador enviara bien los datos. ¿Que version de PHP tiene el servidor? Porque lo unico que se me ocurre es que sea menor que la 4.1 y no acepte $_FILES.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/12/2003, 05:08
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 20 años, 7 meses
Puntos: 0
Estas en lo cierto, sorry, olvidé poner las caracteristicas del sistema:

Sistema operativo: AIX 4.3 bajo RS6000 Multiprocesador
Version Apache: 1.3
Version php: php.4.0.6 (versión especial de ibm recompilada por ellos, solo necesita cargar el modulo)
http://www-1.ibm.com/servers/aix/pro.../download.html

Hay alguna forma de modificar el script, sin tener que reinstalar otra version de php?
  #4 (permalink)  
Antiguo 05/12/2003, 05:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Vale, la version es anterior a la 4.1, con lo que no puedes usar arrays superglobales ($_FILES, $_POST, $_GET, $_SESSION, $_SERVER y $_ENV, si no recuerdo mal). Entonces tendras que programar como en los viejos tiempos, con register_globals a ON.

Eso supone que en lugar de $_FILES, aqui tendras que trabajar con $HTTP_POST_FILES. Puedes ver mas info en http://www.php.net/manual/en/features.file-upload.php

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 05/12/2003, 07:07
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 20 años, 7 meses
Puntos: 0
Funciona¡¡

Gracias.
  #6 (permalink)  
Antiguo 05/12/2003, 07:11
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
De nada. Recuerda que en el manual siempre comenta los cambios entre versiones. Incluso en funciones que solo existen a partir de una version, a veces ponen una funcion escrita en PHP que hace el mismo trabajo.

El manual es tu amigo. Tenlo siempre cerca.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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:01.