martes, 28 de mayo de 2013

Script en shell de unix para hacer un ftp desde la línea de comandos pasando como parámetro el fichero

Este script sirve para enviar un fichero ftp al servidor servidorftp, con el usuario usuarioftp y password passwordftp, el fichero se va ha dejar en el directorioftp
del servidor remoto. Este es el script envioftp.sh:


#!/bin/sh
USER=usuarioftp
PASSWD=passwordftp
ftp -n servidorftp <<SCRIPT
user $USER $PASSWD
cd directorioftp
bin
put $1
quit
SCRIPT

Para llamarlo se puede hacer de la siguiente forma:

./envioftp.sh fichero_a_enviar

lunes, 27 de mayo de 2013

Script php para redimensionar imágenes jpg de forma masiva

Este es el script escrito en php para redimensionar de forma masiva varias imágenes que se encuentran en un directorio (controlado por la variable $directorio) dado.

Además podemos definir dos variables adicionales nuevoancho que te define los píxeles horizontales que va a tener nuestra nueva imagen (los verticales van a calcularse a partir de este para mantener las dimensiones) y la calidad de la imagen.

<?php

$directorio="/home/aitor/fotos";
$nuevoancho=75;
$calidad=80;

function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad) {

// crear imagen desde original
$img = ImageCreateFromJPEG($img_original);

// crear imagen nueva
//$thumb = ImageCreate($img_nueva_anchura,$img_nueva_altura);
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);

// redimensionar imagen original copiandola en la imagen
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura, ImageSX($img),ImageSY($img));

// guardar la imagen redimensionada donde indicia $img_nueva

ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);

}


$default_dir = "$directorio"; // directorio donde se encuentran las imágenes
$dirlist = array(); //make new array
$dir = dir($default_dir);
while($fitxategia_name = $dir->read()) // leemos cada uno de los ficheros
{

$imgorig="$directorio/$fitxategia_name";
$imgpeque="$directorio/$fitxategia_name";
$a=getimagesize($imgorig);
$ancho = $a[0];
$alto = $a[1];
$altop=round($nuevoancho*$alto/$ancho);
#echo "-----$ancho-----$alto-------75------$altop----\n";
redimensionar_jpeg($imgorig,$imgpeque,$nuevoancho,$altop,$calidad);
}


?>

martes, 7 de mayo de 2013

Curso HTML5. Post 6. La etiqueta address.

La etiqueta <address>

    La etiqueta address no es una etiqueta nueva, ya que existía anteriormente aunque prácticamente no se utilizaba, era una forma de referenciar direcciones postales. En la nueva versión la W3C pretende que sea una etiqueta que se va a utilizar para indicar información del propietario del página o parte de una página o artículo  incluyendo información como correo electrónico o la dirección de la página. Suele introducirse dentro de la etiqueta footer, aunque no tiene por qué.

Ejemplo 1:

<article>
<header>
<h2>Art&iacute;culo</h2>
</header>
<p>Descripci&oacute;n del art&iacute;culo</p>
    <footer>
<address>
        Escrito por: <a href="mailto:alopezaberasturi@egibide.org">Aitor LA</a>.<br/>
        profesordeinformatica.com <br/>
        Egibide<br/>
</address>
</footer>
</article>

Ejemplo 2:

<article>
<header>
       <h1>La etiqueta address</h1>
       <address>por Aitor Lopez de Aberasturi</address>
</header>
<p> Esta estiqueta ,.....</p>
</article>

NO habrá que utilizar la etiqueta address para referenciar a una dirección postal.

<address>
    Egibide- Nieves Cano <br/>
    profesordeinformatica.com <br/>
    C/ Nieves Cano, 1<br/>
    01001 Vitoria-Gasteiz <br/>
</address>

domingo, 5 de mayo de 2013

Curso HTML5. Post 5. Truco para la visualización correcta en navegadores que no soportan HTML5



Aunque se supone que HTML5 puede ser procesado correctamente incluso en navegadores que no lo implementan, hay navegadores y versiones como  Internet Explorer 8 y anteriores tiene problemas para procesarlo. Como solución se propone añadir el siguiente código en la cabecera del documento HTML:
<!--[if lt IE 9]>
<script>
 var e = ("abbr,article,aside,audio,canvas,datalist,details," +
   "figure,footer,header,hgroup,mark,menu,meter,nav,output," +
   "progress,section,time,video").split(',');
 for (var i = 0; i < e.length; i++) {
   document.createElement(e[i]);
 }
</script>
<![endif]-->

Curso HTML5. Post 4. Hoja de estilos CSS básica para html5

Para que el anterior código tenga el diseño deseado tendremos que añadir hojas de estilo a nuestra página web. A la hora de hacer una página web hay que separar el contenido, que irá incluido en el html del estilo (colores, tamaños, diseño,...)  que se incluirá en las hojas de estilo CSS. Más adelante hablaremos de las hojas de estilo y en concreto de las novedades que ofrece la nueva versión CSS3. De momento vamos a incluir una hoja de estilos interna básica a  nuestra página web. Esto lo incluiremos dentro del head de nuestra página web:

<style type="text/css" >
body { 
    width: 940px;
    font: 12px Helvetica, Arial, sans-serif;
    background: #f5f5f1;
    margin: auto;
}
header, section, footer, aside, nav, article {
    display: block;
    position: relative;
    float:left;
    height: 40px;
}
header {
    width: 100%;
    background: #ddd;
}

nav {
    width: 240px;
    background: #fff;
    background: #999;
}

section {
    background: #777;
    width: 700px;
    height: 100%;
}

article {
    width: 650px;
    margin: 10px;
        background: #aaa;

}
aside {
    width: 240px;
}

footer {
    width: 100%;
    background: #666;
}

</style>


miércoles, 1 de mayo de 2013

Curso HTML5. Post 3. Estructura básica de un documento HTML5

Estructura básica de un documento HTML5


    HTML5 incorpora varias etiquetas o tags nuevas que sobre todo ayudan en la maquetación de una página web. Inicialmente se maquetaba con tablas y posteriormente con capas (div). Todo maquetador habrá tenido sus problemas con las famosas capas a la hora de ajustar para los diferentes navegadores. La nueva versión de HTML facilita esta maquetación ya que crea nuevas etiquetas para facilitar y reducir el código. La mayoría de maquetadores utilizaban <div id=”cabecera”> para indicar la cabecera de un documento, en su lugar en HTML5 tenemos la etiqueta <header>.


    Esta es la estructura básica de un documento:


<!DOCTYPE html>
<head>
   <meta charset="UTF-8" />
   <title>Mi primera pagina web</title>
</head>
    <body>
            <header> Cabecera
            </header>
            <aside>
                <nav>
                    Navegador
                </nav>
            </aside>
        <section> Seccion
                <article>
            Articulo 1
                </article>
            <article>
            Articulo 2
                </article>
        </section>
            <footer>
            Pie de pagina
            </footer>
    </bo
dy>
</html>



<section>: Será una zona de un elemento.
<article>: Representa a cada un post, una noticia, o artículo.
<aside>: Es la barra lateral donde hay contenido relacionado con la página.
<header>: La cabecera de un documento o sección (ya que puede estar dentro de un article).
<footer>: El pie de página de un documento.
<nav>: zona que indica la navegación de la web por un documento.