Ver Mensaje Individual
  #20 (permalink)  
Antiguo 14/10/2011, 13:58
dleal100
 
Fecha de Ingreso: septiembre-2011
Mensajes: 158
Antigüedad: 13 años, 5 meses
Puntos: 15
Respuesta: subir imagenes con javascript

bueno pues despues de casi 3 dias :s
esta fue la solucion tuve que usar iframes e_e
lo que luego se me ase raro es que en las librerias que dependen de jquery no usen iframes, o almenos que añadan nodos de iframes en nuestro docuemnto web y no nosdemos cuentas,

sigo pensando que se puede aser sin iframes, pero mis conocimientos no dan para mas...

bueno aca les dejo la solucion por si alguien le interesa :S
Código:
<?php
//Directorio donde se va almacenar la img o archivo.
$upload_dir = "imagenes";
if (isset($_POST['fileframe'])){
   $result = 'ERROR';
 
if (isset($_FILES['file'])){
if ($_FILES['file']['error'] == UPLOAD_ERR_OK){
 
//Obteniendo el nombre del archivo
$filename = date("DMYgis").$_FILES['file']['name'];
 
//Moviendo el archivo al directorio indicado arriba
move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir.'/'.$filename);
 
//Cambiando el status del result
$result = 'OK';
}
}
 
echo '<html><head></head><body>';
echo '<script type="text/javascript">'."\n";
echo 'var Doc = window.parent.document;';
 
if ($result == 'OK'){
   //Asignando los valores a los distintos input
   echo 'Doc.getElementById("status").innerHTML = "El Archivo ha sido cargado...";';
   echo 'Doc.getElementById("img").src="'.$upload_dir.'/'.$filename.'";';
}
else{
   echo 'Doc.getElementById("status").innerHTML = "ERROR al Subir Archivo";';
}
 
echo "\n".'</script></body></html>';
 
exit();
}
?>
 
<!-- Inicio de la página principal -->
<html><head>
<title>Subir Archivo con PHP y AJAX</title>
<script type="text/javascript">
function subirArchivo(upload_field){
   //Aqui se puede agregar otras extensiones...
   var re_text = /\.gif|\.jpg|\.png/i;
   var filename = upload_field.value;
 
   // Verificando que el tipo.
   if (filename.search(re_text) == -1){
      alert("El archivo no es de tipo(.jpg, .png) extension ");
      upload_field.form.reset();
      return false;
}
 
   upload_field.form.submit();
   document.getElementById('status').innerHTML = "Subiendo Archivo...";
   return true;
}
</script>

</head>
<body>

<!--Aqui podemos colocar una imagen por defecto-->
<img id="img" src="" width="128"/>
 
<form action="#" target="upload_iframe" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileframe" value="true">
<input type="file" name="file" id="file" onChange="subirArchivo(this)">
</form>
 

<iframe name="upload_iframe" style="width: 400px; height: 100px; display:none;"></iframe>
 
Status:<div id="status"></div>


</body>
</html>