inc.php
Bueno, qué es esto?
Es un manojo de funciones, variables etcéteras que uso en todos mis proyectos, y que probablemente te va a ahorrar algunos quilombos a la hora de escribir PHP. Ojo: esto está en permanente actualización debido a que siempre surjen oportunidades de expandir o arreglar algo.
Cómo lo hago funcionar?
Fácil. Bajate inc.txt y renombralo como inc.php. Luego insertá esta línea al principio de todas tus páginas.
Esto, por supuesto, asumiendo que le des el nombre de inc.php y que esté en el mismo directorio.
Qué tiene adentro?
Veamos por partes...
Si usásMySql en tu proyecto, vas a querer configurar la conexión desde acá. Inc.php automáticamente se va a conectar con MySql y aguardar tus consultas.
Esta hermosa linea hace que una sesión esté siempre abierta. Podés leer más sobre el tema acá, pero la idea es que podés acceder a variables desde páginas diferentes, y estas siempre estarán disponibles a través de $_SESSION, hasta que el usuario cierre el navegador.
Ieba. Ahora no te tenés que preocupar por SQL injection. Cualquier dato mandado por POST va a ser escapado. Esto tambien se podria hacer con GET, pero normalmente las variables enviadas via GET son menos importantes, y probablemente escaparlas terminaría causando problemas.
Ajajá, llegamos a la función jugosa. fetch() ejecuta una consulta MySQL por vos, y pone los resultados en un multiarray. Veamos el ejemplo:
Es decir, fetch() te da un array de arrays, cada uno lleno con los datos de un registro (indexados tanto por numero como por nombre de columna). Además, podés pasar un segundo y tercer parámetros que indican si queres recibir solamente un array de una fila dada o incluso el valor de una fila y columna dadas. Tambien, si no se pasa ningun argumento, ni siquiera una query, fetch() devuelve la ultima ID insertada.
En cambio, si más que recuperar información, lo que necesitás es enviarla, deberias usar query(), Así, mirá:
query() devuelve true en caso de éxito y false en caso de fracaso. Así de simple. Prosigamos.
OBSERVAD! He escrito LA rutina para subir y redimensionar imágenes. Bueno, probablemente no. Veamos los parametros. $datos es el array que PHP registra en $_FILES siempre que mandas archivos. $ruta es la ruta reltaiva a la ubicación del archivo final (debe inluir el nombre del archivo, y cualquier archivo del mismo nombre será sobreescrito). $ancho y $alto son el ancho y alto deseados; si no se los define, upload() va a asumir el mismo tamaño que el original. $proporcion es si mantener o no la proporción al redimensionar; en otras palabras, si lo seteás a false, tu imagen va a ser deformada. Por último, $recortar le indica a inc.php si recortar los bordes de la imagen para adecuarse al tamaño deseado. Si es false, el resultado final variará según la proporción. Actualmente, upload() solo exporta a .jpg.
Ésta es la última función hasta ahora. listdir() recorre un directorio y te dice qué contiene. $ruta es la ruta relativa al directorio. El directorio actual es el default. $ord es el criterio de ordenamiento. Podés elegir entre 'date', 'name', 'type' and 'size'. $path le dice a inc.php si devolver la ruta relativa a cada archivo, o si solo devolver el nombre. $omitir es un array que contiene los elementos que querés que sean omitidos por listdir() (por default . y .. que son referencias para el directorio actual y el superior). Finalmente, si seteás $full a true, listdir() devolverá un multiarray con nombre, tamaño, extension y fecha de cada archivo, en lugar de solo un array de cadenas.
Conclusión
Tomalo. Usalo. Pasalo. Mejoralo. Todo bien. Si te encontrás un bug, un problema de seguridad o una añadidura que te gustaría reportar, voy a estar feliz de escuchar. Mi dirección de email está al principio de inc.php.



