PHP. Ejemplos prácticos de programación

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.

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 Ver ficha

Usar la función shell_exec de PHP y que esta función no está habilitada en safe-mode.

error_reporting Ver ficha

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 Ver ficha

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 MySQL

En el caso de leer una fecha de WordPress el formato que se devuelve es:
echo $post->post_date // Devuelve: 2011-01-11 19:01:14
o para devolver sólo la fecha:
$date = strtotime($post->post_date);
echo strftime("%d-%m-%Y",$date); // Devuelve: 2011-01-11


Generar cadena aleatoria Ver ficha

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 Ver ficha

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 Ver ficha

Cómo sustituir - reemplazar un String en PHP....
$str = "123,45";
echo str_replace(",",".",$str);


True/False en PHP y MySQL Ver ficha

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 Ver ficha

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 Ver ficha

Algunos ejemplos de uso de SIMPLE HTML DOM que no encontré en la ayuda estándar. ...

Obtener fecha

En 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 Ver ficha

Esta función inserta o edita un post en WordPress Ver fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies