Foros del Web » Programando para Internet » PHP »

No puedo retomar valores de $_FILE

Estas en el tema de No puedo retomar valores de $_FILE en el foro de PHP en Foros del Web. Bueno. Estoy haciendo una carga dinamica de archivos al servidor, y tengo este problema. No se basicamente que le pasa a mi script que $_FILES[archivo]['name'] ...
  #1 (permalink)  
Antiguo 17/09/2006, 07:50
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
No puedo retomar valores de $_FILE

Bueno. Estoy haciendo una carga dinamica de archivos al servidor, y tengo este problema. No se basicamente que le pasa a mi script que $_FILES[archivo]['name'] aparentemente no me devuelve nada ...
Este script tiene algo de AJAX, pero creo que el problema fundamental aca es el PHP.

Una vez que el archivo se sube al server llego a este script:
Código PHP:
<?php
    
//    Nombre de los Archivos
    
echo '<p>Nombre Temporal: '.$_FILES[$_POST['id']]['tmp_name'].'</p>';
    echo 
'<p>Nombre en el Server: '.$_FILES[$_POST['id']]['name'].'</p>';
    
    
// en $dir se especifica directorio de escritura.
    
$dir 'archs/';
    
    
// Copia el archivo temporal al archivo en el server
    
if (isset($_POST['id'])) {
        if (!
copy($_FILES[$_POST['id']]['tmp_name'], 'archs/'.$_FILES[$_POST['id']]['name']))
            echo 
'<script> alert("Error al Subir el Archivo");</script>';
    }
    else
        echo 
"Archivo subido.";
?>
Este script esta funcionando en este link. El problema es que, si se fijan, no me escribe los valores de la variable $_FILES en las primeras lineas:
Código PHP:
    //    Nombre de los Archivos
    
echo '<p>Nombre Temporal: '.$_FILES[$_POST['id']]['tmp_name'].'</p>';
    echo 
'<p>Nombre en el Server: '.$_FILES[$_POST['id']]['name'].'</p>'
Sin embargo la copia del archivo temporal al archivo alojado en el server si la esta haciendo en este linea (porque el script efectivamente esta funcionando):
Código PHP:
if (!copy($_FILES[$_POST['id']]['tmp_name'], 'archs/'.$_FILES[$_POST['id']]['name'])) 
.

1) Alquien entiende mi problema ?
2) Si alguien lo entiende, sabe la solucion ?

Saludos y Gracias ...
__________________
| Cabeza De Raton |
  #2 (permalink)  
Antiguo 17/09/2006, 08:53
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Deberian borrar este post. Solo traeria confusion.
Estuve viendo este script y el problema es algo que no tiene nada que ver con $_FILES.
Saludos y Perdon.
__________________
| Cabeza De Raton |
  #3 (permalink)  
Antiguo 17/09/2006, 09:02
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Amigo... No haría mal el que comentaras cual era el error... Probablemente podría servirle a alguien... =)
  #4 (permalink)  
Antiguo 17/09/2006, 09:14
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Mira ... todo viene por el problema y la gran confusion que existe (dense una vuelta por el foro de AJAX) en que si AJAX permite o no permite subir un archivo al servidor.
Los que mas saben dice que no, y otros que no saben tanto dicen ...
- Pero GMAIL lo puede hacer !.
Entonces como yo necesito esta herramienta (subir un archivo al server) y quiero implementarla como Gmail (tal vez antes yo decia: implementarla con AJAX) me puse a ver como funcionaba.

Y efectivamente para subir el archivo al server no utiliza AJAX. Con AJAX y creo que mas que nada con JavaScript 'dispara' el formulario que contiene al archivo a subir, y todo esto lo hace como ya muchos sabran, en un iframe oculto.
Y ahi estaba mi problema. Yo estaba imprimiendo (echo 'bla bla bla ...') en un script de respuesta al formulario dentro de este iFrame.

Ademas me confundia porque con AJAX, luego de que el archivo ya se habia subido, llamaba al mismo script anterior. Entonces algunas cosas se imprimian (casi todo) menos la variable $_FILES; porque ya se habia terminado todo el proceso de subida del archivo.

No se si se entiende ... por lo pronto en estos momentos estoy comentando y provando el script. Una vez que lo termine (de hecho, no es mio si no una pequeña clase de PHPClass) lo publico para que le pueda servir a alguien.
Saludos
__________________
| Cabeza De Raton |
  #5 (permalink)  
Antiguo 17/09/2006, 18:02
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 1
<?php
// Nombre de los Archivos
echo '<p>Nombre Temporal: '.$_FILES['id']['tmp_name'].'</p>';
echo '<p>Nombre en el Server: '.$_FILES['id']['name'].'</p>';


// en $dir se especifica directorio de escritura.
$dir = 'archs/';

// Copia el archivo temporal al archivo en el server
if (isset($_POST['id'])) {
if (!copy($_FILES[$_POST['id']]['tmp_name'], 'archs/'.$_FILES[$_POST['id']]['name']))
echo '<script> alert("Error al Subir el Archivo");</script>';
}
else
echo "Archivo subido.";
?>

asi te deberia funcionar probalo
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 04:38.