Ajax javascript + php upload script

Solo disponible en BuenasTareas
  • Páginas : 6 (1278 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de febrero de 2011
Leer documento completo
Vista previa del texto
Ajax Javascript + PHP upload script
Bueno este tema lo pongo por que he leido en este y otros que muchos preguntan ¿Como subir archivos con Ajax?.
Respuesta Simple: NO SE PUEDE
Solucion practica: Simular un script que trabaje similar a AJAX

Dejo un pequeño manual de como hacer un script En AJAX pero sin AJAX, solo lean y entiendan:

La fuente de donde saque la informacion la dejo masabajo ya que este tuto no lo hice yo pero si tambien puse algunas palabras mias y bueno cuando lo leí resulto ser lo mas practico que encontre,.

Recomendacion: Si no sabe no haga preguntas torpes, busque en google y entienda lo que se explica en foros como este.

Manual:

Como se dice en algunos lugares o foros, los desarrolladores han buscado la forma de "SIMULAR" scripts para subir archivos"COMO SI FUESE" ajax---

1.- Tenemos un formulario con un campo tipo file, el cual nos permitirá enviar el archivo a nuestro servidor PHP. La respuesta del servidor se hará en el IFRAME, actor principal de esta novela.
2.- El script ejecutado en nuestro server a causa del action del formulario es el encargado de copiar el archivo temporal en un espacio físico dentro del mismo.
3.- Luego, con unpoco de ayuda de JS imprimiremos un mensaje correspondiente al estado final de nuestro script.
algo como esto mira:

Código: Seleccionar todo
Upload.php



   
   
    Archivo:
   
   
   
   


Es es un simple formulario HTML con un campo FILE y un marco flotante iframe denominado iframeUpload. Cuando enviamos elarchivo al servidor ejecutaremos el script controlUpload.php y la respuesta del server se hará en nuestro iframe ya que apuntamos al mismo dentro de la etiqueta target en la declaración form.

Código: Seleccionar todo

controlUpload.php

//  Script Que copia el archivo temporal subido al servidor en un directorio.
echo 'Nombre Temporal:'.$_FILES['fileUpload']['tmp_name'].'';
echo 'Nombre en el Server: '.$_FILES['fileUpload']['name'].'';
echo 'Tipo de Archivo: '.$_FILES['fileUpload']['type'];

$tipo = substr($_FILES['fileUpload']['type'], 0, 5);

//  Definimos Directorio donde se guarda el archivo
$dir = 'archs/';

//  Intentamos Subir Archivo
//  (1) Comprovamos que existe el nombre temporal del archivo
if(isset($_FILES['fileUpload']['tmp_name'])) {
    //  (2) - Comprovamos que se trata de un archivo de imágen
    if ($tipo == 'image') {
        //  (3) Por ultimo se intenta copiar el archivo al servidor.
        if (!copy($_FILES['fileUpload']['tmp_name'], $dir.$_FILES['fileUpload']['name']))
            echo ' alert("Error al Subir el Archivo");';
           }
        else echo 'El Archivo que se intenta subir NO ES del tipo Imagen.';
        }
    else echo 'El Archivo no ha llegado al Servidor.';

Claro esta que hasta este punto el script aun es normal como cualquier otro, con boton enviar, etc...

Cuando se ejecuta el script, este intenta rescatar los datos del archivo a subir. Para eso se vale del array global de PHP$_FILES. Si no estas muy familiarizado recomiendo que leas esta sección del manual oficial para entender su funcionamiento y sus particularidades.

En las primeras líneas presentamos el nombre del archivo temporal generado por nuestro motor PHP, el segundo es el nombre real del archivo y el tercero es el tipo de archivo.
Si estos valores están definidos evidentemente el archivo llego al server.Estas líneas mas adelante no las utilizaremos; ahora sólo las usamos para realizar el seguimiento del script.
Asignamos a $tipo el tipo de archivo para poder controlar que sea una imágen. Se cortan los primeros 5 caracteres y si todo es correcto $tipo tendrá el valor image. Si no es una imagen tendrá un valor distinto. Este control se puede hacer de diversas formas; nosotros utilizamos esta....
tracking img