
Autor: Duilio Palacios
Título: AJAX y Laravel usando jQuery
Descripción:
Ve la lección completa en: http://duilio.me/ajax-y-laravel-usand...
PHP es un lenguaje de programación interpretado (Lenguaje de alto rendimiento), diseñado originalmente para la creación de páginas web dinámicas.
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script> $(function(){ $("#file").on("change", function(){ /* Limpiar vista previa */ $("#vista-previa").html(''); var archivos = document.getElementById('file').files; var navegador = window.URL || window.webkitURL; /* Recorrer los archivos */ for(x=0; x<archivos.length; x++) { /* Validar tamaño y tipo de archivo */ var size = archivos[x].size; var type = archivos[x].type; var name = archivos[x].name; if (size > 1024*1024) { $("#vista-previa").append("<p style='color: red'>El archivo "+name+" supera el máximo permitido 1MB</p>"); } else if(type != 'image/jpeg' && type != 'image/jpg' && type != 'image/png' && type != 'image/gif') { $("#vista-previa").append("<p style='color: red'>El archivo "+name+" no es del tipo de imagen permitida.</p>"); } else { var objeto_url = navegador.createObjectURL(archivos[x]); $("#vista-previa").append("<img src="+objeto_url+" width='250' height='250'>"); } } }); $("#btn").on("click", function(){ var formData = new FormData($("#formulario")[0]); var ruta = "multiple-ajax.php"; $.ajax({ url: ruta, type: "POST", data: formData, contentType: false, processData: false, success: function(datos) { $("#respuesta").html(datos); } }); }); }); </script> </head> <body> <form method="post" id="formulario" enctype="multipart/form-data"> Subir imagen: <input type="file" id="file" name="file[]" multiple> <button type="button" id="btn">Subir imágenes</button> </form> <div id="vista-previa"></div> <div id="respuesta"></div> </body> </html>
<?php if (isset($_FILES["file"])) { $reporte = null; for($x=0; $x<count($_FILES["file"]["name"]); $x++) { $file = $_FILES["file"]; $nombre = $file["name"][$x]; $tipo = $file["type"][$x]; $ruta_provisional = $file["tmp_name"][$x]; $size = $file["size"][$x]; $dimensiones = getimagesize($ruta_provisional); $width = $dimensiones[0]; $height = $dimensiones[1]; $carpeta = "imagenes/"; if ($tipo != 'image/jpeg' && $tipo != 'image/jpg' && $tipo != 'image/png' && $tipo != 'image/gif') { $reporte .= "<p style='color: red'>Error $nombre, el archivo no es una imagen.</p>"; } else if($size > 1024*1024) { $reporte .= "<p style='color: red'>Error $nombre, el tamaño máximo permitido es 1mb</p>"; } else if($width > 500 || $height > 500) { $reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura máxima permitida es de 500px</p>"; } else if($width < 60 || $height < 60) { $reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura mínima permitida es de 60px</p>"; } else { $src = $carpeta.$nombre; move_uploaded_file($ruta_provisional, $src); echo "<p style='color: blue'>La imagen $nombre ha sido subida con éxito</p>"; } } echo $reporte; }
<?php header("Content-Type: image/png"); $im = imagecreate(45, 23) or die("Ha ocurrido un error, librería de funciones GD no disponible"); $color_fondo = imagecolorallocate($im, 0, 0, 0); $color_texto = imagecolorallocate($im, 255, 255, 255); function generate_captcha($chars, $length) { $captcha = null; for ($x = 0; $x < $length; $x++) { $rand = rand(0, count($chars)-1); $captcha .= $chars[$rand]; } return $captcha; } $captcha = generate_captcha(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f'), 4); /* 4 es la longitud del capcha */ setcookie('captcha', sha1($captcha), time()+60*3); imagestring($im, 5, 5, 5, $captcha, $color_texto); imagepng($im);
<!DOCTYPE HTML> <html> <head> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script> $(function(){ $("#btn").on("click", function(){ var formData = $("#formulario").serialize(); var ruta = "ajax.php"; $.ajax({ url: ruta, type: "POST", data: formData, success: function(datos) { $("#respuesta").html(datos); } }); }); $("#actualizar_captcha").on("click", function(){ document.location.reload(); }); }); </script> </head> <body> <div id="respuesta"></div> <form method="POST" id="formulario"> <table> <tr> <td>Email:</td><td><input type="email" id="email" name="email"></td> </tr> <tr> <td>Captcha:</td><td><input type="text" id="captcha" name="captcha"></td> </tr> <tr><td></td><td><img src="captcha.php"><button id="actualizar_captcha" type="button">Actualizar</button></td></tr> </table> <button id="btn" type="button">Enviar</button> </form> </body> </html>
<?php if (isset($_POST)) { $email = $_POST["email"]; $captcha = sha1($_POST["captcha"]); $numero_captcha = $_COOKIE["captcha"]; if (!preg_match("/^[a-zA-Z0-9\._-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$/", $email)) { echo "<p style='color: red'>El formato de email es incorrecto</p>"; } else if ($captcha != $numero_captcha) { echo "<p style='color: red'>El Captcha no coincide</p>"; } else { //LAS ACCIONES CORRECTAS echo "<p style='color: blue'>Acción llevada a cabo correctamente</p>"; /*Eliminamos la cookie*/ setcookie("captcha", "", -1); ?> <script> /*Restauramos el formulario y el captcha*/ document.getElementById("formulario").reset(); document.location.reload(); </script> <?php } } ?>
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script> $(function(){ $("#file").on("change", function(){ /* Limpiar vista previa */ $("#vista-previa").html(''); var archivos = document.getElementById('file').files; var navegador = window.URL || window.webkitURL; /* Recorrer los archivos */ for(x=0; x<archivos.length; x++) { /* Validar tamaño y tipo de archivo */ var size = archivos[x].size; var type = archivos[x].type; var name = archivos[x].name; if (size > 1024*1024) { $("#vista-previa").append("<p style='color: red'>El archivo "+name+" supera el máximo permitido 1MB</p>"); } else if(type != 'image/jpeg' && type != 'image/jpg' && type != 'image/png' && type != 'image/gif') { $("#vista-previa").append("<p style='color: red'>El archivo "+name+" no es del tipo de imagen permitida.</p>"); } else { var objeto_url = navegador.createObjectURL(archivos[x]); $("#vista-previa").append("<img src="+objeto_url+" width='250' height='250'>"); } } }); $("#btn").on("click", function(){ var formData = new FormData($("#formulario")[0]); var ruta = "multiple-ajax.php"; $.ajax({ url: ruta, type: "POST", data: formData, contentType: false, processData: false, success: function(datos) { $("#respuesta").html(datos); } }); }); }); </script> </head> <body> <form method="post" id="formulario" enctype="multipart/form-data"> Subir imagen: <input type="file" id="file" name="file[]" multiple> <button type="button" id="btn">Subir imágenes</button> </form> <div id="vista-previa"></div> <div id="respuesta"></div> </body> </html>
<?php if (isset($_FILES["file"])) { $reporte = null; for($x=0; $x<count($_FILES["file"]["name"]); $x++) { $file = $_FILES["file"]; $nombre = $file["name"][$x]; $tipo = $file["type"][$x]; $ruta_provisional = $file["tmp_name"][$x]; $size = $file["size"][$x]; $dimensiones = getimagesize($ruta_provisional); $width = $dimensiones[0]; $height = $dimensiones[1]; $carpeta = "imagenes/"; if ($tipo != 'image/jpeg' && $tipo != 'image/jpg' && $tipo != 'image/png' && $tipo != 'image/gif') { $reporte .= "<p style='color: red'>Error $nombre, el archivo no es una imagen.</p>"; } else if($size > 1024*1024) { $reporte .= "<p style='color: red'>Error $nombre, el tamaño máximo permitido es 1mb</p>"; } else if($width > 500 || $height > 500) { $reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura máxima permitida es de 500px</p>"; } else if($width < 60 || $height < 60) { $reporte .= "<p style='color: red'>Error $nombre, la anchura y la altura mínima permitida es de 60px</p>"; } else { $src = $carpeta.$nombre; move_uploaded_file($ruta_provisional, $src); echo "<p style='color: blue'>La imagen $nombre ha sido subida con éxito</p>"; } } echo $reporte; }
<!DOCTYPE HTML> <html> <head> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script> $(function(){ $("input[name='file']").on("change", function(){ var formData = new FormData($("#formulario")[0]); var ruta = "imagen-ajax.php"; $.ajax({ url: ruta, type: "POST", data: formData, contentType: false, processData: false, success: function(datos) { $("#respuesta").html(datos); } }); }); }); </script> </head> <body> <form method="post" id="formulario" enctype="multipart/form-data"> Subir imagen: <input type="file" name="file"> </form> <div id="respuesta"></div> </body> </html>
<?php if (isset($_FILES["file"])) { $file = $_FILES["file"]; $nombre = $file["name"]; $tipo = $file["type"]; $ruta_provisional = $file["tmp_name"]; $size = $file["size"]; $dimensiones = getimagesize($ruta_provisional); $width = $dimensiones[0]; $height = $dimensiones[1]; $carpeta = "imagenes/"; if ($tipo != 'image/jpg' && $tipo != 'image/jpeg' && $tipo != 'image/png' && $tipo != 'image/gif') { echo "Error, el archivo no es una imagen"; } else if ($size > 1024*1024) { echo "Error, el tamaño máximo permitido es un 1MB"; } else if ($width > 500 || $height > 500) { echo "Error la anchura y la altura maxima permitida es 500px"; } else if($width < 60 || $height < 60) { echo "Error la anchura y la altura mínima permitida es 60px"; } else { $src = $carpeta.$nombre; move_uploaded_file($ruta_provisional, $src); echo "<img src='$src'>"; } }