Foros del Web » Programando para Internet » PHP »

Valor de la variable 'tmp_name' de $_FILES

Estas en el tema de Valor de la variable 'tmp_name' de $_FILES en el foro de PHP en Foros del Web. Hola soy nuevo programando en php y me he encontrado con un problema. Este mismo codigo lo probe primero en un servidor local, y no ...
  #1 (permalink)  
Antiguo 02/03/2008, 14:42
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Mensaje Problemas con $_FILES['']['tmp_name']

Hola soy nuevo programando en php y me he encontrado con un problema.
Este mismo codigo lo probe primero en un servidor local, y no tuve mayor problema =(

aqui mi codigo html
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form enctype="multipart/form-data" action="subearchivo.php" method="post">
<strong> Cambiar el nombre del documento: </strong> <br />
<input type="text" name="cadenatexto" size="50" maxlength="100" class="inputColor" />
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" /> <!-- 10 megas -->
<br />
<p><strong>Subir un nuevo archivo: </strong> <br />
<input name="userfile" type="file" size="50"/>
<br />
<input type="submit" name="Archivo" value="Enviar" class="boton" />
</p>
</form>
</body>
</html>

este es mi php (version 5.2.5)
Código PHP:
<?php
$Dia 
"httpdocs/Documentos/";
if (isset(
$_POST['Archivo']))                      
    
agrArchivo($Dia);

                            
function 
agrArchivo($carpeta) {

$nombre_archivo $_FILES['userfile']['name'];
$uploadfile1 $carpeta.$_FILES['userfile']['name'];
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile1))
    echo 
"El archivo se cargo satisfactoriamente. --- ".$nombre_archivo." <br />";
else
        echo 
"<br>El archivo no pudo cargarse";

}
?>
estas son algunas especificaciones del servidor donde se monto: safe_mode: on, upload_tmp_dir: no value, register_globals: off.

ojala puedan ayudarme ya ke esto me ha dejado sin sueño xD

Saludos ^^
  #2 (permalink)  
Antiguo 02/03/2008, 14:56
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Problemas con $_FILES['']['tmp_name']

que error te arroja
  #3 (permalink)  
Antiguo 02/03/2008, 15:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problemas con $_FILES['']['tmp_name']

Cita:
Iniciado por jaronu Ver Mensaje
que error te arroja
el $_FILES['']['tmp_name'] me arroja un error 6

alguien puede ayudarme???

Última edición por AlKhem; 03/03/2008 a las 15:42
  #4 (permalink)  
Antiguo 03/03/2008, 21:58
 
Fecha de Ingreso: noviembre-2006
Ubicación: Guadalajara
Mensajes: 26
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problemas con $_FILES['']['tmp_name']

alguien que nos ayude con el problema ?
  #5 (permalink)  
Antiguo 03/03/2008, 22:11
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: Problemas con $_FILES['']['tmp_name']

mmmm probablente tengas que usar .htacces si es que el hosting lo permite y ver la manera que establescas tu directorio temporal


saludos
__________________
gerardo
  #6 (permalink)  
Antiguo 03/03/2008, 22:14
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: Problemas con $_FILES['']['tmp_name']

pero a ver prueba este

<HTML>
<BODY>

<FORM ENCTYPE="multipart/form-data" ACTION="script.php" METHOD="post">

#con este input "oculto" establecemos el limite máximo
# del tamaño del fichero a transferir. En este ejemplo 50.000 bytes
<INPUT type="hidden" name="lim_tamano" value="50000">

<p><b>Archivo a transferir<b><br>

<INPUT type="file" name="archivo"></p>

<p><INPUT type="submit" name="enviar" value="Aceptar"></p>

</FORM>

</BODY>

</HTML>


la diferencias es el ENCTYPE="multipart/form-data

saludos
__________________
gerardo
  #7 (permalink)  
Antiguo 04/03/2008, 10:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas con $_FILES['']['tmp_name']

El error 6 (UPLOAD_ERR_NO_TMP_DIR), te dice que no tienes un directorio temporal, por lo que PHP no puede subir y copiar el archivo.

Te dejo un link con los códigos de error: http://www.php.net/manual/en/feature...oad.errors.php.

Para solucionarlo necesitas configurar el php.ini la directiva upload_tmp_dir.

Saludos.
  #8 (permalink)  
Antiguo 04/03/2008, 14:48
 
Fecha de Ingreso: noviembre-2006
Ubicación: Guadalajara
Mensajes: 26
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problemas con $_FILES['']['tmp_name']

Cita:
Iniciado por GatorV Ver Mensaje
El error 6 (UPLOAD_ERR_NO_TMP_DIR), te dice que no tienes un directorio temporal, por lo que PHP no puede subir y copiar el archivo.

Te dejo un link con los códigos de error:

Para solucionarlo necesitas configurar el php.ini la directiva upload_tmp_dir.

Saludos.
Si la cosa es que este es un sitio de hospedaje(no propio) que no me deja cambiar estas directivas pero lo raro es que tiene todo activado para upload de archivos menos estas directiva que esta en no value existe alguna forma de cambiarla... ya que con .htaccess no me dejo tampoco alguna solucion T_T. Gracias
  #9 (permalink)  
Antiguo 05/03/2008, 09:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas con $_FILES['']['tmp_name']

Contacta a tu servidor de Hosting, ellos deben de arreglarte ese problema, ya que como bien comentas esa directiva se cambia directo en el server.

Saludos.
  #10 (permalink)  
Antiguo 05/03/2008, 11:39
 
Fecha de Ingreso: noviembre-2006
Ubicación: Guadalajara
Mensajes: 26
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problemas con $_FILES['']['tmp_name']

Ya como informacion adicional si reviso el log del que me esta ofreciendo el hosting me sale la siguiente informacion

LOG:
Código:
[Wed Mar 05 12:42:44 2008] [error] [client 189.161.162.209] PHP Warning: Unknown: open_basedir restriction in effect. File(/var/tmp) is not within the allowed path(s): (/usr/local/psa/home/vhosts/informanalitica.com/httpdocs:/tmp) in Unknown on line 0, referer: http://informanalitica.com/PruebaFiles/archivo.php

[Wed Mar 05 12:42:44 2008] [error] [client 189.161.162.209] PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0, referer: http://informanalitica.com/PruebaFiles/archivo.php

[Wed Mar 05 12:42:44 2008] [error] [client 189.161.162.209] PHP Warning: Wrong parameter count for ini_set() in /usr/local/psa/home/vhosts/informanalitica.com/httpdocs/PruebaFiles/file.php on line 2, referer: http://informanalitica.com/PruebaFiles/archivo.php

[Wed Mar 05 12:42:48 2008] [error] [client 189.161.162.209] script '/usr/local/psa/home/vhosts/informanalitica.com/httpdocs/AsignarDoc.php' not found or unable to stat, referer: http://informanalitica.com/BAdmin.htm
Supongo que se refiere a que no tengo permisos para escribir este directorio o estoy mal ? que opinan ?
  #11 (permalink)  
Antiguo 05/03/2008, 11:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas con $_FILES['']['tmp_name']

Así es, cuando tu tienes la directiva open_basedir no puedes abrir archivos fuera del path que te permitan en el php.ini.

Saludos.
  #12 (permalink)  
Antiguo 05/03/2008, 12:00
 
Fecha de Ingreso: noviembre-2006
Ubicación: Guadalajara
Mensajes: 26
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problemas con $_FILES['']['tmp_name']

Entonces seria ponerme en contacto con el proveedor para que me diera acceso a escritura en var ? y asi poder subir archivos u.u ..
  #13 (permalink)  
Antiguo 05/03/2008, 12:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas con $_FILES['']['tmp_name']

Te tiene que dar permisos para el directorio donde hagas los uploads, no necesariamente en /var/tmp.

Saludos.
  #14 (permalink)  
Antiguo 05/03/2008, 16:21
 
Fecha de Ingreso: noviembre-2006
Ubicación: Guadalajara
Mensajes: 26
Antigüedad: 17 años, 5 meses
Puntos: 0
Valor de la variable 'tmp_name' de $_FILES

Hola hola pues como dice este post me gustaria saber si existe una forma de redefinir el valor de:
'tmp_name' de $_FILES[][]

Tomando en cuenta que en el server que estoy no es mio asi que no puedo modificar el php.ini.

Como dato extra la variable:
'upload_tmp_dir' no esta definida

Y la carpeta temporal por default parece ser /var/tmp a la cual no tengo acceso u.u y no puedo subir los archivos, pero me gustaria redifinir la variable 'tmp_name' ya que te tengo acceso al directorio /tmp y asi si podria escribir o mas bien subir archivos. Bueno gracias por la atencion y aprovechando pregunto tambien si existe otra forma de subir los archivos que no sea usando $_FILES Gracias espero su respuesta ^^
  #15 (permalink)  
Antiguo 05/03/2008, 17:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Valor de la variable 'tmp_name' de $_FILES

Lamentablemente no es posible sin modificar el php.ini.

Si tu hosting no te hace el cambio te recomendaría cambiar de hosting a uno que te de el soporte que requieres.

Saludos.

PD Muevo tu tema al tema que ya tenias iniciado. Por favor no dupliques temas.
  #16 (permalink)  
Antiguo 06/03/2008, 12:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Valor de la variable 'tmp_name' de $_FILES

Habiamos pensado el cambio de hosting, pero esa no era una desicion ke pudieramos tomar nosotros, sino el cliente.

Al final lo logramos de esta manera: utilizamos Perl con CGI para el upload de archivos a una carpeta temporal (creada por nosotros) y posteriormente ftp_rename para mover los arvhivos a la carpeta que deseabamos.

Quiero agradecer a las personas que nos ayudaron con sus aportes . Con esto cierro el tema, y ojala esto le sirva a alguna otra persona.

Saludos ^^
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:36.