PHPclasses sin duda es uno de los mejores repositorios de clases en php, que se pueda encontrar hoy en día. Las clases estan categorizadas según el tipo de funcion o funciones que desempeñe dándole al usuario una mejor facilidad de búsqueda, uno también puede colaborar y votar por clases en php registrandose en la web.
Para obtener la fecha de la última modificación en php siempre se recurría a trabajar con la db para así tener un control de revisiones y saber cuando fue la última vez que se edito un artículo.
Pero como sacar la última fecha de modificación de los archivos, especialmente si la web es modular el método que usábamos con JavaScript ya no nos sirve, por el simple echo que php se procesa en el servidor y muestra un html en el cliente.
Para realizar esta funcion en php es sencillo trabajando con la función getlastmod y filemtime, vemos el siguiente ejemplo
//archivo funciones.php
function Ultima_Modificacion( $archivos = '')
{
if (empty($archivos)) return false;
// Extraemos la fecha de la ultima modificacion del archivo actual
$timestamps = array(@getlastmod());
/*
ejemplo:
$archivos = array("/path/config.php",
"/path/kernel.php",
"/path/functions.php",
"/path/index.php"
);
*/
foreach ($archivos as $archivo):
$timestamps[] = @filemtime($archivo);
endforeach;
// Sacamos la Ultima modificación de todas las fechas
$timestamp = max($timestamps);
$fecha = gmdate("D, d M Y H:i:s ", $timestamp) . "GMT";
return "Ultima Modificación: " . $fecha;
}//end func
$archivos = array("carlos.php","calinsoft.php" );
//ejemplo 1
echo Ultima_Modificacion($archivos);
//ejemplo 2
echo Ultima_Modificacion();
Lo que hace la función en el ejemplo 1 es determinar la fecha de modificación más reciente entre los archivos funciones.php, carlos.php y calinsoft.php.
En el ejemplo 2 solamente mostrar la fecha de modificación del archivo donde se ejecuta es decir funciones.php .
De esta forma obtendremos la fecha ya sea una web modular o no siempre y cuando mencionemos todos los archivos.
Tags:
PHP,
Scripts
Siempre he dicho que wordpress es flexible ahora muchos ya conocerán el error genera wordpress cuando no establece conexión con la base de datos, claro es muy tosco o simple.
Error establishing a database connection
Pero podemos personalizarlo muy fácilmente,es bien sencillo creamos un archivo llamado db-error.php en la carpeta /wp-content/ de la instalación de wordpress el cual será nuestro template de error de conexión de la base de datos.
El siguiente ejemplo solo es un simple template que lo puedes personalizar a gusto.
< ?php
//ejemplo de : /wp-content/db-error.php
if (!empty($_SERVER['SCRIPT_FILENAME']) &amp;&amp; 'db-error.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Por favor no juegues :D, gracias');
header( 'Content-Type: text/html; charset=utf-8' );
?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) ) language_attributes(); ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error en la DB</title>
</head>
<body>
<h1>No se pudo establecer conexion con la DB</h1>
</body>
</html>
Y desde ahora cuando por algún error del servidor de base de datos o cuanto intentes migrar ya no tendrás el error todo simple que traía Wordpress por defecto si no uno personalizado a tu gusto.
Tags:
PHP,
Wordpress
Esto es una forma de limpiar tu cadena de caracteres no deseados, que nos puede ser util especialmente antes de insercciones a nuestra base de datos o donde necesitemos verificar los datos mandados por el usuario.
function limpiar ($cadena){
if (empty($cadena)) return false;
//limpiamos todos los caracteres invalidos
$nueva_cadena = ereg_replace("[^ A-Za-z0-9_]", "", $cadena);
return $nueva_cadena;
}
$cadena = "Esto es un texto de letras, numeros 12345 y caracteres raros !£$%^&";
echo limpiar ($cadena);
Tags:
PHP,
Scripts
Hoy en día la funcion md5 es la más usada ya que el hash devuelto consiste en una cadena de 32 números en formato hexadecimal, este método es irreversible por lo cual si estamos desarrollando una aplicación web la cual integre un sistema de usuarios tendríamos añadir la opción de que un usuario pueda resetear su contraseña si lo olvida alguna vez.
Este proceso es sencillo, existen varias maneras la más común es pedirle al usuario su email de registro mediante un formulario el cual verificara si existe dicho email en la db luego se enviara un mensaje de verificación el cual si lo acepta automáticamente se genera una contraseña aleatoria y se envía al email correspondiente.
Hay innumerables formas de generar contraseñas aleatorias, yo he tratado de construir una función que me satisface dicho requerimiento.
function random_pwd($length=5,$mode='alfa'){
switch ($mode):
case "alfa":
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case "int":
$source = '1234567890';
break;
case "extra":
$source = '|@#~$%()=^*+[]{}-_';
break;
case "all":
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890|@#~$%()=^*+[]{}-_';
break;
default:
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
endswitch;
if($length>0){
$rstr = "";
$source = str_split($source,1);
for($i=1; $i< =$length; $i++){
mt_srand((double)microtime() * 1000000);
$num = mt_rand(1,count($source));
$rstr .= $source[$num-1];
}
}
return $rstr;
}
echo random_pwd(10,'all');
//salida aleatoria : RJ}JwFdC%C
Si observan esta funcion nos da la posibilidad de generar una contraseña dependiendo de cuantos caracteres necesitamos o vemos que sea necesario y la opción de personalizar el tipo de caracteres que tendrá nuestra contraseña mediante los siguientes parámetros.
- “alfa” que son el alfabeto completo
- “int” que son caracteres enteros
- “extra” que son caracteres para una contraseña más compleja
- “all” la union de todos los caracteres
Tags: PHP, Scripts
Vero es un programador que a lo largo de estos años a estado puliendo una inmejorable forma de aliviarnos las penurias, cuando de hacer un upload se trate.
Para mi esta clase Upload es casi completa, tiene de todo y es re contra configurable.
¿Que es lo que diferencia esta clase de las demás?
- Después de subir un archivo, uno puede hacer tantas copias, conversiones y cambios de tamaños que uno desee.
- Se puede manipular la imagen de muchas maneras, rotar la imagen, jugar con los colores, añadir bordes y marcas de agua.
- Añadir textos.
- Validación del tipo de archivo a subir.
- Sumamente Flexible.
- Es Gratis.
La clase es tan poderosa para mi gusto que con un simple ejemplo veremos su potencial.
$foo = new Upload($_FILES['form_field']);
if ($foo->uploaded) {
// subimos la imagen
$foo->Process('/home/user/files/');
if ($foo->processed) {
echo 'copia original de la imagen';
} else {
echo 'error : ' . $foo->error;
}
// Volvemos a subir la imagen con otro nombre
$foo->file_new_name_body = 'carlos-montalvo';
$foo->Process('/home/user/files/');
if ($foo->processed) {
echo 'Imagen renombrada con el nombre "carlos-montalvo"';
} else {
echo 'error : ' . $foo->error;
}
// Esta vez le creamos una miniatura de 100px de ancho
$foo->file_new_name_body = 'image_miniatura';
$foo->image_resize = true;//activamos la opcion de miniaturaa
$foo->image_convert = gif; //lo convertimos a gif
$foo->image_x = 100;//asignamos 100px
$foo->image_ratio_y = true;//activamos el ratio
// Subimos la imagen con los cambios realizados
$foo->Process('/home/user/files/');
if ($foo->processed) {
echo 'Imagen renombrada y en miniatura con 100px de ancho
y convertida en gif';
$foo->Clean();//limpiamos
} else {
echo 'error : ' . $foo->error;
}
}
Así de simple logramos tantos cambios con una sola imagen subida.
Descarga Clase Upload
Documentación
Tags:
Clases,
PHP,
Programación Web,
Scripts,
Upload
Esto es un script en php simple que nos permite tener banners aleatorios en cualquier sección de nuestra pagina Web.
// Creamos el array
$banners = array();
// Creamos los banners
$banners[] = array('src' => 'anunciar.gif',
'url' => 'http://www.gacetaucayalina.com/nosotros/contactanos');
$banners[] = array('src' => "dominio.gif",
'url' => 'http://www.gacetaucayalina.com/nosotros/contactanos');
$banners[] = array('src' => "gaceta.gif",
'url' => 'http://www.jacknoticias.com/');
/*
NOTA: Puedes seguir agregando más banners de la siguiente forma
$banners[] = array('src' => "url_imagen",
'url' => "pagina_web");
*/
$rand_key = array_rand($banners, 1);
$banners_a = $banners[$rand_key];
$src = $banners_a['src'];
$url = $banners_a['url'];
echo '<a href="'.$url.'"><img src="'.$src.'"/></a>';
Sencillo pero usable puede ver un ejemplo simple aqui
Tags:
PHP,
Programación Web,
Scripts