En esta página encontrarán algunos ejemplos sobre el lenguaje de programación PHP que he ido utilizando en programación. Vaya por delante que no soy un programador experto en PHP, empecé de cero con un libro y el resto de lo que encontraba en Internet. La ventaja que tuve es que había estudiado Programación Estructurada, Programación Orientada a Objetos y muchas líneas de Cobol y VB, por eso la entrada fue más fácil.
Lo que encontrarás aquí son las soluciones que he ido aplicando a necesidades que me iban surgiendo, en muchas ocasiones habrá mejores soluciones pero estos fragmentos de código me han funcionado. Mi recomendación es que busques siempre en varias fuentes y encuentre tu propia solución.
Índice de contenidos
PHP
-Todos- Cadenas (2) Fechas (1) Funciones (4) Operadores (1) WordPress Codex (2)Ejecutar un programa Windows - error_reporting - Fechas en PHP - Generar cadena aleatoria - Lista de Shortcodes de la página Web - Reemplazar un string - True/False en PHP y MySQL - URL y carpeta de hosting - Usando SIMPLE HTML DOM - wp_insert_post -
Ejecutar un programa Windows Usar la función shell_exec de PHP y que esta función no está habilitada en safe-mode. |
error_reporting Es frecuente al programar en PHP que necesitemos personalizar los mensajes que se muestran en tiempo de ejecución. Para ello se utiliza la función error_reporting(). Otro tema distinto es si los queremos establecer de forma permanente con lo cual deberíamos hacerlo en el fichero php.ini. |
Fechas en PHP Algunos ejemplos de tratamiento de fechas....Imprimir una fecha$date = strtotime("2009-2-27"); echo = strftime("%d-%m-%Y",$date) Obtener por separado el día, mes y año de una Fecha$date = strtotime("2009-2-27"); echo strftime("%Y",$date); echo strftime("%d",$date); echo strftime("%m",$date);Esta función también es aplicable al valor de un campo leído de una tabla y dejado en una variable. Leer y visualizar una fecha de MySQLEn el caso de leer una fecha de WordPress el formato que se devuelve es:echo $post->post_date // Devuelve: 2011-01-11 19:01:14o para devolver sólo la fecha: $date = strtotime($post->post_date); echo strftime("%d-%m-%Y",$date); // Devuelve: 2011-01-11 |
Generar cadena aleatoria Ejemplo de función sencilla para generar cadenas aleatoria...echo "Code:".getUniqueCode();
function getUniqueCode($length = "12"){
$code = md5(uniqid(rand(), true));
if ($length != "") return substr($code, 0, $length);
else return $code;
} |
Lista de Shortcodes de la página Web Esta función te permite listar todos los shortcodes usado en las entradas (posts) y páginas (page) de tu Web realizada con WordPress...Se debe pasar como filtro el nombre del shortcode que se busca
/** * * Get shortcodes * */ function ab_framework_get_shortcodes($shortcode_name){ // All posts $return = array(); $args = array( 'posts_per_page' => -1, 'post_type' => array('page','post') ); $posts = get_posts( $args ); foreach($posts as $post){ preg_match_all( '/' . get_shortcode_regex() . '/', $post->post_content, $matches, PREG_SET_ORDER ); foreach( $matches as $shortcode ) { if (strpos($shortcode[0],$shortcode_name)){ $return[] = $shortcode[0]; } } } return $return; }Esta función es fácilmente adaptable a quitar el filtro shortcode_name o usar hacer otro tipo de procesos a los posts y pages. |
Reemplazar un string Cómo sustituir - reemplazar un String en PHP....$str = "123,45"; echo str_replace(",",".",$str); |
True/False en PHP y MySQL En cualquier aplicación con PHP y MySQL que desarrollemos casi seguro que vamos a necesitar manejar campos que tienen como posibles valores Verdadero o Falso.
En los formularios HTML se utiliza el campo tipo checkbox para mostrar estos datos. Hay que tener en cuenta que un checkbox marcado envía por defecto el valor 'on' en el parámetro del formulario y desmarcado envía un valor nulo.
En la tabla MySQL definiremos un campo tipo BOOL que en realidad es un TINYINT(1). Este campo puede tomar dos valores posibles: 0 (False) y 1 (True). |
URL y carpeta de hosting Ejemplo de cómo saber la URL y la carpeta de la Web donde estamos con nuestro fichero PHP....tenemos estas posibilidades
Por ejemplo tenemos los siguientes datos:
Dominio: http://www.midominio.com
Fichero Script: http://www.midominio.com/test/index.php
echo $_SERVER["SERVER_NAME"]; // Devuelve: http://www.midominio.com echo $_SERVER["REQUEST_URI"]; // Devuelve: /test/index.php echo basename(__FILE__); // Devuelve: index.php echo dirname(__FILE__); // Devuelve: /htdocs/midominio/test (esta ruta varía según proveedor)Para saber también el idioma del navegador (Browser language) podemos usar la siguiente función basada en la instrucción $_SERVER['HTTP_ACCEPT_LANGUAGE'] function get_client_language(){ $default="en"; if (isset ($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $langs=explode (',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); //start going through each one foreach ($langs as $value){ $default=substr ($value,0,2); } } return $default; } |
Usando SIMPLE HTML DOM Algunos ejemplos de uso de SIMPLE HTML DOM que no encontré en la ayuda estándar. ...Obtener fechaEn algunas páginas web la fecha no está en las META si no en una label especial del contenido HTML. Se pueden ir buscando según en el caso. Pero en este ejemplo vemos como extraer información de cualquier etiqueta, en este caso Time. Ejemplo <time datetime="2020-08-14T20:05:37+02:00">function ab_framework_getURLData_date($html){ echo "Find date:"; foreach($html->find('time') as $time){ echo "1. ".$time->datetime; echo "2. ".$time->plaintext; } } Ver fuente |
wp_insert_post Esta función inserta o edita un post en WordPress Ver fuente |