Foros del Web » Programando para Internet » PHP »

Problema Upload php

Estas en el tema de Problema Upload php en el foro de PHP en Foros del Web. Hola, Tengo un problema en la configuración de mi servidor.Lo que busco son las "posibles" causas del problema i las correspondientes soluciones. Os pongo un ...
  #1 (permalink)  
Antiguo 30/08/2006, 15:26
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 1
Problema Upload php

Hola, Tengo un problema en la configuración de mi servidor.Lo que busco son las "posibles" causas del problema i las correspondientes soluciones.

Os pongo un burdo ejemplo y os doy el resultado asi sera mas facil comprender el problema.
pag1.php
Código:
<form action="pag2.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <input type="file" name="file" />
  <input type="submit" name="Submit" value="Enviar" />
</form>
supongamos que en la pagina 1 tengo esto, selecciono un archivo i lo envio..
pag2.php
Código:
<? 
echo $_FILES['file']['name'];
?>
en la pagina dos hago esto.. pero resulta que no me escribe nada.

Yo supongo que el fichero no se llega a guardar en el temporal i por lo tanto no me llenar el array $_FILES.

Mi pregunta es: ¿A alguien le a pasado algo igual y tiene idea de que puede ser? o si mas no...¿Que problema y soluciones creeis que pueden haber?

Os pongo la info que me muestra el php.ini
Código:
PHP Version 4.3.10
file_uploads	On
max_execution_time	
max_input_time	60	
memory_limit	32M
upload_max_filesize	2M
upload_tmp_dir	no value
Yo lo unico que se me ocurre es que la carpeta temporal por defecto no tenga los permisos correctamente o no este creada.. o por lo menos ami no se me permita el acceso.

Alguna idea? gracias de antemano.

PD: e intentado subir todo tipo i tamaño de archivo xD

Última edición por BiGloOl; 30/08/2006 a las 15:28 Razón: faltava info
  #2 (permalink)  
Antiguo 30/08/2006, 15:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Evalua que tiene el array files completo:

Código PHP:
<?
echo "<pre>";
print_r($_FILES);
echo 
"</pre>";
?>
Puede ser que no veas ningún mensaje de error por un nivel bajo de muestreo de errores de PHP .. es decir:

(php.ini)
display_errors (que esté a ON)
error_reporting (E_ALL o algo así .. )

Cuando subes archivos .. si tienes restricciones los efectos suelen ser:
* Te sale un error de "página no encontrada" (desconcertante sí . . pero eso es lo que hace PHP ...)
* Al intentar "mover" tu archivo con move_uploaded_file() ves problemas de permisos de acceso a archivos o rutas.

Por otro lado .. no sé si tienes acceso a tu php.ini .. pero es bueno definir una ruta para los archivos que subes por PHP (temporales) en:

upload_tmp_dir = ....

Aunque si no se lo indicas se supone que toma el "/tmp" (Linux) o equivalente en Windows ...

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 30/08/2006, 15:48
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 1
si.. los errores estan dehabilitados..
y el array esta vacio
Array
(
)
No no tengo acceso al ini.el host es linux yo supongo que sera pobrlema de la carpeta esta. o de los permisos, aunque yo lo que busco es posibles causas del error.. para darsleo al capullin que lleva el server que no se entera de na i me tiene frito. XD

PD:max_execution_time esta a 30

Última edición por BiGloOl; 30/08/2006 a las 16:13
  #4 (permalink)  
Antiguo 30/08/2006, 17:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por BiGloOl Ver Mensaje
si.. los errores estan dehabilitados..
y el array esta vacio
Array
(
)
No no tengo acceso al ini.el host es linux yo supongo que sera pobrlema de la carpeta esta. o de los permisos, aunque yo lo que busco es posibles causas del error.. para darsleo al capullin que lleva el server que no se entera de na i me tiene frito. XD

PD:max_execution_time esta a 30
Pues dile de momento al "capullin" de tu administrador de tu servicio de hosting que te habilite ver mensajes de error:

display_errors = ON

Así los veras tu mismo y le podrás indicar más cosas que revisar sobre el problema.

Eso también lo podrá ver el en los log`s que hace tu servidor HTTP (si PHP corre en modo módulo de este).

Por otro lado como prueba .. los arrays superglobales: $_POST, $_GET .. etc funcionan en general? ...

Tu le puedes pedir a tu "capullin" si te puede revisar si llegan los archiovo al directorio donde -debería- indicar "upload_tmp_dir"?

Te estará bloqueando configuración de Apache (o que servidor HTTP usa?) .. prueba con archivos de muy pocos bytes (no 0 .. pero pocos) .. y nos cuentas.

Pero, .. en general solucionar un problema "a ciegas" cuando "supuestamente" la configuración de PHP permite el "upload" y sin tener acceso ni a "log's" ni a configuración de PHP es complicado ver el problema.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 30/08/2006, 23:27
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por Cluster Ver Mensaje
Pues dile de momento al "capullin" de tu administrador de tu servicio de hosting que te habilite ver mensajes de error:

display_errors = ON

Así los veras tu mismo y le podrás indicar más cosas que revisar sobre el problema.
bueno en este caso de todos modos no me muestra ningun error..
porque usando el iniset si e conseguido que me muestre errores cuando uso el move_upload_file()<- porque no existia nada a mover..
Cita:
Iniciado por Cluster Ver Mensaje
Eso también lo podrá ver el en los log`s que hace tu servidor HTTP (si PHP corre en modo módulo de este).
MMJ tengo entendido que el servido http llamado W3C no permite los upload, ¿puede ser? ¿el apache siempre funciona con un servidor http alieno , es decir como modulo de un servidor http?
Cita:
Iniciado por Cluster Ver Mensaje
Por otro lado como prueba .. los arrays superglobales: $_POST, $_GET .. etc funcionan en general? ...
si funcionan.. tengo 10 paginas corriendo perfectamente en ese server

Cita:
Iniciado por Cluster Ver Mensaje
Tu le puedes pedir a tu "capullin" si te puede revisar si llegan los archiovo al directorio donde -debería- indicar "upload_tmp_dir"?
sip eso hare..que se mire la de upload por defecto..
Cita:
Iniciado por Cluster Ver Mensaje
Te estará bloqueando configuración de Apache (o que servidor HTTP usa?) .. prueba con archivos de muy pocos bytes (no 0 .. pero pocos) .. y nos cuentas.
lo e probado con archivos de 1k i no los sube
Cita:
Iniciado por Cluster Ver Mensaje
Pero, .. en general solucionar un problema "a ciegas" cuando "supuestamente" la configuración de PHP permite el "upload" y sin tener acceso ni a "log's" ni a configuración de PHP es complicado ver el problema.

Un saludo,
Ya lo se.. era solo por si alguien tenia una idea clara de porque pasa entonces le doy yo directamente la posible solucion o sino le hago un listado de posibles problema y soluciones.. asi lo arregla seguro.

De todos modos se agradece la ayuda.Thx

PD:Por cierto, cuando sepa que es te lo comento.. ;)
  #6 (permalink)  
Antiguo 31/08/2006, 06:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
MMJ tengo entendido que el servido http llamado W3C no permite los upload, ¿puede ser? ¿el apache siempre funciona con un servidor http alieno , es decir como modulo de un servidor http?
No entendí que es "servidor alieno" .. Lo que es Apache como servidor HTTP que es (de uso común y extendido en internet en general .. tanto en servidores Linux como Windows) lo puedes configurar cuando instalas PHP como "módulo" (me refiero a PHP como quedará instalado) o como "CGI" (como si se ejecutase Perl por ejemplo o como así lo hace).

No conozco las características de un servidor "W3C" (pero tenemos el foro de "Servidores web" para que te lo puedan aclarar mejor).

En general .. PHP cuando accedes por tu programación a los arrays $_FILES .. lo que hace PHP es tomar la información que el servidor HTTP le entregue (al igual que otras constantes que tienes en $_SERVER), por ende y bajo ese planteamiento, si no se obtiene "nada" en un array de ese estilo habría que evaluar que servidor HTTP usas (al parecer no es "Apache" . .el que más "acostumbrados" a usar estamos).

Sobre el servidor HTTP que usas y la instalación de PHP que usas lo puedes ver tu mismo haciendo un:

Código PHP:
<?
phpinfo
();
?>
Ahí veras en "Server API" como instalastes PHP (dirá algo tipo Fast CGI .. o Apache 2.0 Handler .. o similar).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 31/08/2006, 08:25
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 1
pues si estan usando el Apache 2.0 Handler de todos modos.. yo creo que es el tema de los permisos seguro.. a ver que me dicen...
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 22:23.