Crear directorios de manera recursiva (PHP)

septiembre 29th, 2009 | Posted by alegg in Codigo | PHP - (0 Comments)

      /**
      * function dir_recursivo (string $destino)
      *
      * Crea un arbol de directorios de manera recursiva
      *
      * return boolean
      */

      function dir_recursivo ($destino) {
      if (is_dir($destino)) {
      return true;
      }
      $dirs = explode('/', $destino);
      $dir = '';
       
      foreach ($dirs as $part) {
      if (empty($part) || ($part == '.')) {
      continue;
      }
       
      $dir .= '/'.$part;
       
      if ($part == '..') {
      continue;
      }
       
      if (!is_dir($dir)) {
      $ok = @mkdir($dir, 0755);
      if (!$ok) {
      return false;
      }
      }
      }
      clearstatcache();
      return is_dir($destino);
      }
      jQuery(document).ready(function() {
      // Cuando cambie un select de la página...
      jQuery('select').change(function () {
      var sumSelecteds = 0;
      // ... para cada select con el value seleccionado que no sea -1 ...
      jQuery('select').each(function (i) {
      // ... incrementamos un contador
      if( jQuery(this).attr("value") != -1 ) sumSelecteds++;
      });
       
      if(sumSelecteds > 1) {
      // Mostramos todos los TD cuyo id contenga berserk
      jQuery("td[id*='berserk']").fadeIn(1000);
      // Mostramos todos los TD cuyo name contenga berserk
      jQuery("td[name*='berserk']").fadeIn(1000);
      // Esto hace lo mismo que el anterior
      jQuery('td').each(function (i) {
      jQuery("td[name*='berserk']").fadeIn(1000);
      });
      }
       
      });
     });

Persistir Objetos en PHP

septiembre 28th, 2009 | Posted by alegg in PHP - (0 Comments)

Para los programadores Java, la persistencia de objetos es algo bastante más habitual que en el desarrollo PHP.  Estas clases nos pueden ayudar a trabajar con objetos.

Url:  http://www.phpclasses.org/browse/package/5686.html

Nuevos controles para Yahoo YUI 2.8

septiembre 24th, 2009 | Posted by alegg in APIS | Javascript - (1 Comments)

Me gusta mucho esta liberia de Yahoo, la he utilizado en varios proyectos aunque ultimamente he remplazado muchas cosas con JQuery.  Lo que mas me interesa de esta nueva versión, son los nuevos controles de usuario.

Url: http://www.yuiblog.com/blog/2009/09/14/yui-2-8-0/

progressbarexample-20090828-144255

multiaxischarts-20090909-093827

Disponible Zend Framework 1.9.3

septiembre 22nd, 2009 | Posted by alegg in Zend Framework - (0 Comments)

Ya esta para descargar la última version, desde aqui.

Disponible Prototype 1.6.1

septiembre 21st, 2009 | Posted by alegg in Javascript - (0 Comments)

Ya esta disponible una nueva versión de Prototype.   Los updates incluyen:

  • Full compatibility with new browsers.
  • Element metadata storage.
  • New mouse events.
  • Improved performance and housekeeping.
  • Built with Sprockets.
  • Inline documentation with PDoc.

Url:  http://prototypejs.org/2009/9/1/prototype-1-6-1-released

Resumen completo de JQuery 1.3

septiembre 16th, 2009 | Posted by alegg in JQuery - (0 Comments)

Encontre este resumen de todas las funcionalidades de jquery 1.3 que me ha resultado bastante útil. Lo pongo como “resumen”, porque dependiendo de donde viva cada uno, podemos conocerlo como chuleta, machete, cheatsheet, etc etc.

Bajar Resumen:  http://blogdesarrollo.com/wp-content/uploads/cheats/jquery_1_3.png

jquery_1_3_thumb

Implementar un Autocompletar con PHP y jQuery

septiembre 16th, 2009 | Posted by alegg in Ajax | JQuery - (1 Comments)

Llegó un nuevo requerimiento de un cliente y he encontrado en el blog de nodstrum.com este tutorial para implementar un autocompletar utilizando jquery que me ha servido como base para desarrollar el mio.

Demo: http://res.nodstrum.com/autoComplete/index.htm
Bajar Codigo:  http://blogdesarrollo.com/wp-content/uploads/codigo/autoComplete.zip

autojqery

Subida segura de imagenes (PHP)

septiembre 15th, 2009 | Posted by alegg in Codigo | PHP - (0 Comments)

Creamos el formulario:

  
Seleccionar Archivo:

Creamos el archivo upload.php que recibira el POST del formulario

if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
  //Es un JPEG and pesa menos de 350Kb
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);
  if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && 
	($_FILES["uploaded_file"]["size"] < 350000)) {

      // Seleccionamos la carpeta en donde se subira el archivo
      $newname = dirname(__FILE__).'/upload/'.$filename;
      // Chequear si ya existe ese archivo en el servidor
      if (!file_exists($newname)) {
        // Mover el archivo
        if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
           echo "Subido correctamente el archivo:: ".$newname;
        } else {
           echo "Error: No se puso subir el archivo!";
        }
      } else {
         echo "Error: File ".$_FILES["uploaded_file"]["name"]."  ya existe ";
      }
  } else {
     echo "Error: Solo imagenes .jpg images con un peso menor a 350Kb son aceptados";
  }
} else {
 echo "Error: No se subio ningun archivo";
}

Leyendo kabytes.com me encontré con este sitio http://www.bestwebframeworks.com en donde hacen comparaciones entre frameworks para PHP, JS, Ruby y CSS.  El tema de los  frameworks es complicado, como desarrollador en general prefiero utilizar los desarrollados por mi, aunque asi pierda muchas funcionalidades que tienes los frameworks (bien) hechos…

Pero lo que noto en lso últimos tiempos, es que cada vez más, los clientes llegan ya con su frameworks a cuestas. Muchas veces por algo que leyeron o un amigo les comento, ya el requerimiento es utilizar tal framework y cada vez son más!.

compare-frameworks