Foros del Web » Programando para Internet » PHP »

is_uploaded_file

Estas en el tema de is_uploaded_file en el foro de PHP en Foros del Web. Hola, estoy intentando hacer lo siguiente y no me funciona: Código PHP:   $el_error = is_uploaded_file ( $_FILES [ 'campo_valor' ][ 'error' ]);      echo( $el_error ...
  #1 (permalink)  
Antiguo 22/12/2011, 09:38
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
is_uploaded_file

Hola,
estoy intentando hacer lo siguiente y no me funciona:


Código PHP:
  $el_error=is_uploaded_file($_FILES['campo_valor']['error']);
  
  echo(
$el_error); //Esto no se muestra
  

  
if(is_uploaded_file($_FILES['campo_valor']['tmp_name'])){ //Aqui no entra

     //Entra
  
  
}
  else{

   
//No entra

  



He comprobado al configuración de php.ini:


;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "c:/wamp/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Última edición por xinxan22; 22/12/2011 a las 09:42 Razón: Añado más texto
  #2 (permalink)  
Antiguo 22/12/2011, 09:50
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: is_uploaded_file

Podrías hacer un print_r de $_FILES y ponerlo acá?
__________________
Páginas web de alta calidad y hechas a la medida.
  #3 (permalink)  
Antiguo 22/12/2011, 09:52
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: is_uploaded_file

Creo que está en blanco ....

Como lo imprimo por pantalla ?
  #4 (permalink)  
Antiguo 22/12/2011, 10:10
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: is_uploaded_file

Pon esto....

Código PHP:
Ver original
  1. print_r($_FILES);

antes de

Código PHP:
Ver original
  1. if(is_uploaded_file($_FILES['campo_valor']['tmp_name'])){...

y pega aquí el resultado....

Por si acaso, has puesto en tu formulario enctype="multipart/form-data" ?

sino lo has puesto, lo más probable es que ese sea el problema, coloca el enctype e intenta de nuevo, debe quedarte mas o menos asi...
Código HTML:
Ver original
  1. <form ..... enctype="multipart/form-data">

Saludos!
__________________
Páginas web de alta calidad y hechas a la medida.
  #5 (permalink)  
Antiguo 22/12/2011, 10:14
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: is_uploaded_file

Además de lo que te dicen estás haciendo mal uso de la función is_uploaded_file, le estás pasando el código del error y se le debe pasar es el filename.

Código PHP:
Ver original
  1. //No tiene sentido usar is_uploaded_file aquí
  2.  
  3. $el_error=is_uploaded_file($_FILES['campo_valor']['error']);
  4.  
  5. echo($el_error); //Esto no se muestra
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 22/12/2011, 10:14
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: is_uploaded_file

Código PHP:
if (is_uploaded_file($_FILES['archivo_usuario']['nombre_tmp'])) {
   echo 
"Archivo "$_FILES['archivo_usuario']['nombre'] ." subido con éxtio.\n";
   echo 
"Monstrar contenido\n";
   
readfile($_FILES['archivo_usuario']['nombre_tmp']);
} else {
   echo 
"Posible ataque del archivo subido: ";
   echo 
"nombre del archivo '"$_FILES['archivo_usuario']['nombre_tmp'] . "'.";

tomado de http://php.net/manual/es/function.is-uploaded-file.php
__________________
aconcaguaestudio.com
  #7 (permalink)  
Antiguo 23/12/2011, 01:37
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: is_uploaded_file

Hola,


si hago

Código PHP:
print_r($_FILES); 
en pantalla aparece : "Array"


No estoy usando esto:

Código HTML:
<form ..... enctype="multipart/form-data"> 
porque no vengo exactamente de un formulario, estoy enviando una variable "campo_valor" por $_GET

Esto tiene valor:

Código PHP:
 echo("El valor es: ".$_GET['campo_valor']); 




La idea de todo esto es poder cargar una imagen sin actualizar la página, mediante XMLHttpRequest, hago lo siguiente :

Código HTML:
 cargar_imagen.php?campo_valor=NOMBRE_IMAGEN
  #8 (permalink)  
Antiguo 23/12/2011, 01:42
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: is_uploaded_file

Cita:
Iniciado por andresdzphp Ver Mensaje
Además de lo que te dicen estás haciendo mal uso de la función is_uploaded_file, le estás pasando el código del error y se le debe pasar es el filename.

Código PHP:
Ver original
  1. //No tiene sentido usar is_uploaded_file aquí
  2.  
  3. $el_error=is_uploaded_file($_FILES['campo_valor']['error']);
  4.  
  5. echo($el_error); //Esto no se muestra


Cierto, creo que sería así :

Código PHP:
$el_error=$_FILES['campo_valor']['error'];
echo(
$el_error); //Esto no se muestra 
Igualmente, se muestra en blanco, tal como he publicado anteriormente $_FILES está vacío.
  #9 (permalink)  
Antiguo 23/12/2011, 04:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: is_uploaded_file

Hola,
creo que el error está de la forma en que lanzo el formulario.
Con formulario enctype=... me funciona pero...
de esta manera como lo estoy haciendo (XMLHttpRequest) no:


Código HTML:
  var xml=false;
  try{
    xml=new ActiveXObject("Msxml2.XMLHTTP");
  } 
  catch(e){
    try{
      xml=new ActiveXObject("Microsoft.XMLHTTP");
    } 
	catch(E){
      xml=false;
    }
  }
  //
  if(!xml && typeof XMLHttpRequest!='undefined') xml=new XMLHttpRequest();
  //
  xml.onreadystatechange=procesarEventos;
  //
  xml.open("POST",url,false);
  //
  var parametros="id=1&campo_valor="+valor;
  //  
  xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  //  
  xml.send(parametros)
  //
  if(xml.status==404) alert("Url no valida");
  //
  return xml.responseText;

He probado lo siguiente para setRequestHeader y NO funciona:

Código HTML:
  //RECIBO DATOS (id="1") pero NO el de FILE (campo_valor="")
  xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
  //NO RECIBO DATOS (id="", campo_valor="")
  xml.setRequestHeader("Content-Type","multipart/form-data");
  
  //NO RECIBO DATOS (id="", campo_valor="")
  xml.setRequestHeader("Content-Encoding", "multipart/form-data");
  
  //RECIBO DATOS (id="1") pero NO el de FILE (campo_valor="")
  xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded; multipart/form-data");
  #10 (permalink)  
Antiguo 23/12/2011, 07:47
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: is_uploaded_file

buffff! hubieras comenzado por ahí, estás usando ajax!!!! por motivos de seguridad no puedes enviar archivos vías ajax.

Saludos!
__________________
Páginas web de alta calidad y hechas a la medida.
  #11 (permalink)  
Antiguo 27/12/2011, 01:50
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: is_uploaded_file

Gracias.

Hay alguna manera de saltarse "los motivos de seguridad" tal como comentas?

Un saludo

Etiquetas: file, filename, is_uploaded_file, upload
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 23:18.