miércoles, 25 de abril de 2012

include masiva con php

include masivo con php

Hacer include de clases o documentos o lo que fuera necesario en php a veces se puede volver un trabajo bastante complicado o no tan complicado pero cuando se tienen muchos archivos para incluir es bastante engorroso tener que "uno a uno" ir haciendo include tras include hasta haber incluido en el lugar necesario todos los documentos necesarios

este script lo creé en base a varios tutoriales y otras yerbas que encontré en el dios google, es un prototipo simplificado del que utilizo en uno de mis proyectos web así que es 100% funcional, espero no enredarme a la hora de explicar su funcionamiento

vamos al grano, este es el script:

include_masivo.php:
<?php
################################################################################
# * INCLUDE MASIVO:                                                            #
# * esto sirve para cargar archivos sin necesidad de hacer miles de includes   #
# * en un mismo documento                                                      #
# * Por favor conserva mis datos:                                              #
# * Nombre: Mauricio José Tobares - abril 2012 - Argentina                     #
# * Sitio web: http://www.octavoinfierno.com.ar                                #
# * Blog: http://notas-php.blogspot.com.ar                                     #
# * Mail: carrozadelamuerte@gmail.com - carrozadelamuerte@octavoinfierno.com.ar#
# * Este script es solo una reducción de ejemplo de un script aun mas complejo #
# * por lo que si lo utilizas o lo adaptas a tus proyectos me gustaría que me  #
# * lo comentaras en el blog y/o mandándome un correo electrónico              #
################################################################################
// ruta a la carpeta, '.' es la carpeta actual asique se colocará la ruta ./directorio/
// o la carpeta que ustedes utilicen
$path = "directorio/";
// el siguiente array lo que hace es guardar los valores de lo que NO queremos que se muestre
// en nuestro caso "." y ".." ya que iremos imprimiendo uno a uno los documentos que encuentre
$no_mostrar = Array(".","..");
// nótese que también se podría colocar exclusiones de documentos en particular por ejemplo:
// $no_mostrar = Array(".","..","algo-1.php","algo-2.php","algo-3.php",);
// el resultado de hacer eso en nuestro caso será que no se cargarán los
// documentos algo-1.php, algo-2.php y algo-3.php
//
// ahora abrimos la carpeta
$dir_handle = opendir($path) or die("No se pudo abrir $path");
// generamos el bucle que irá cargando archivo por archivo
while ($file = readdir($dir_handle)) {
// esto en el original decía ".php" pero como nosotros
// no vamos a hacer una lista de los archivos encontrados sino un include debemos
// dejarlo así... que lea el archivo.php como viene sin quitarle la extensión
  $pos = strrpos($file,".");
  $extension = substr($file,$pos);
// no_mostrar lo que hace justamente es NO mostrar lo que definimos en el array
  if (!in_array($extension, $no_mostrar)) {
    include_once($path.$file);
// * para comprobar si se carga todo correctamente podemos hacer un echo de esta forma:
//  echo $path.$file;
  }
}
// finalmente cerramos la carpeta
closedir($dir_handle);
################################################################################
?>

Ahora debes crear una carpeta llamada "directorio" y colocar dentro un par de archivos, como ejemplo yo coloqué 5 archivos llamados algo-1.php, algo-2.php y así

algo1.php lo único que tiene es un titulo H1, algo-2.php un titulo H2 y así hasta el H5

bueno, eso es todo, espero les sea de utilidad este script para hacer include masivo

Otras ideas a tener en cuenta:
Con el include masivo no solo se pueden poner archivos de html liso y llano, pueden colocar scripts de php o lo que se les ocurra que se haya que incluir, también se puede hacer un require masivo y utilizarlo por ejemplo para requerir todos los scripts de una carpeta determinada, una gran posibilidad es asignar la ruta mediante una consulta en base de datos para que en determinada sección de la página se requiera la carga de determinados archivos, también se puede asignar dentro del array que se carga en $no_mostrar un array asociativo en donde se le meta otro array que cargue las excepciones desde una db etc etc...

todo queda a libre criterio de lo que se necesite, pero lo básico está echo, ahora solo hay que ver como adaptarlo a cada proyecto ya que no todos los proyectos tienen por que ser exactamente iguales

martes, 24 de abril de 2012

¿scriptofilia copy-paste o recopilación de scripts?

¿scriptofilia copy-paste o recopilación de scripts?


En muchos... muchisimos blogs leemos y tratamos de seguir guías de scripts que NO FUNCIONAN sea por estupidez propia del bloggero o porque no tienen ni el mas minimo reparo en hacer "copy-paste" de obras que ensima que no son de ellos estan mal echas o directamente son para versiones en desuso del lenguaje lleno de cosas que dan el tipico DEPRECATED!
Esos blogs que tienen el sindrome de "scriptofilia copy-paste" son lamentablemente los mejores rankeados en los buscadores como google o el socotroco ese que es de microsoft que por suerte no lo utilizo porque soy linuxero y gracias a dios (o al diablo), si... si hablo de ese navegador... del mas primitivo y despreciable de todos los sistemas como es el caso del IE en todas sus versiones...

pero no estoy aquí para discutir sistemas operativos y ni siquiera navegadores... estoy redactando esto para ver si alguna vez los que tenemos un buen criterio en blog hacemos campaña para FRENAR LA PLAGA de hacer copy-paste al mejor estilo obsesivo-maniaco-compulsivo y empezamos a generar contenidos propios, scripts y sistemas que al menos funcionen y teniendo ejemplos aplicados en nuestros propios proyectos web y no promesas de soluciones incoherentes que hasta que uno no las prueba no se da cuenta de que no funcionan y aquí en este punto quiero detenerme a decirle a los que CON FECHA RECIENTE hacen copy-paste de contenidos de PHP4... hermanos mios... dejense de hinchar los huevos con el php4... actualicense, ya parecen usuarios del INTERNET EXPLORER 6... dejenlo morir en paz pobre php4... que les hizo para que no lo dejen en paz??? todavia no se dieron cuenta que hasta los hostings gratuitos utilizan el php5.(+)??????

yo la verdad a veces me pregunto que tienen en la cabeza los que hacen copy-paste, pero obviamente se la dan de gurues de php y nisiquiera saben darse cuenta que <? es de php4, ya con simplemente ver que la etiqueta corta NO SE UTILIZA MAS EN PHP5 se darían cuenta que si hacen copy-paste de ese contenido, ese contenido es VIEJO, es INUTIL y muchas veces tiene cosas que son DEPRECATED
en php5 en adelante solo se utiliza la etiqueta de apretura <?php y si el script comienza con <? solamente pues estas ante un script de php4 amigo.... no lo hagas copy-paste... deja morir ese lenguaje en paz, actualiza tus neuroticas neuronas o al menos DIGNATE A APRENDER PHP y te daras cuenta que php4 ya no se utiliza porque ya practicamente no hay alojamientos que utilicen ese lenguaje

Yo definiría entonces a los que padecen este horrendo mal de la "scriptofilia copy-paste" como enfermos mentales que en lugar de aprender a programar y progresar solo retrasan el progreso del lenguaje inundando de estupideces la red, los defino como IGNOTAS QUE NO SABEN PROGRAMAR Y PARA SUPLANTAR EL SENTIMIENTO DE PEQUEÑEZ DEBEN INUNDAR INTERNET CON LO QUE SEA CON TAL QUE LOS CONSIDEREN GURU DE LA PROGRAMACIÓN

ojala esta diarrea mental sirva para que mas gente se digne a luchar contra estos enfermos de SCRIPTOFILIA COPY-PASTE!!!!!!!

Gracias por tu lectura