Script de alerta de espacio en el disco

Con esto podemos establecer una alerta al sobre pasar un porcentaje definido de espacio en el disco duro, y así evitar problemas.

Script :


<?php

$df01   = disk_free_space("/");
$df02   = disk_total_space ("/");

$per    = 100-($df01/$df02*100);

//Establecemos cual es el porcentaje de alerta
$max    = 95;

if($per>$max){
    echo "nEl espacio supera el ".$max;
    echo "nEnviando aviso a todos :Sn";
    EnviarAlerta($per,dataSize($df01));
}else{
    echo "nTodo ok tranquilon";
}

function dataSize($Bytes){
    $Type=array("", "kilo", "mega", "giga", "tera");
    $counter=0;
    while($Bytes>=1024)
    {
    $Bytes/=1024;
    $counter++;
    }
    return("".$Bytes." ".$Type[$counter]."bytes");
}

function EnviarAlerta($percent,$q,$test=0){


    $html='

Servidor web

Multimedia server

Espacio usado: ‘.$percent.’%

Libres: ‘.$q.’

‘;

}


					

php date now

string date ( string $format [, int $timestamp = time() ] )

Devuelve una cadena formateada según el formato dado usando el parámetro de tipo integer timestamp dado o el momento actual si no se da una marca de tiempo. En otras palabras, timestamp es opcional y por defecto es el valor de time().

<?php
// Se asume que hoy es March 10th, 2001, 5:16:18 pm, y que estamos en la
// zona horaria Mountain Standard Time (MST)

$hoy = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$hoy = date("m.d.y");                         // 03.10.01
$hoy = date("j, n, Y");                       // 10, 3, 2001
$hoy = date("Ymd");                           // 20010310
$hoy = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$hoy = date('it is the jS day.');   // it is the 10th day.
$hoy = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$hoy = date('H:m:s m is month');     // 17:03:18 m is month
$hoy = date("H:i:s");                         // 17:16:18
$hoy = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (el formato DATETIME de MySQL)
?>

Borrar un fichero en PHP

unlinkBorra un fichero

bool unlink ( string $filename [, resource $context ] )

Elimina filename. Es similar a la función unlink() de C en Unix. Se generará un error de nivel E_WARNING si se produce un error.

Llamamos a la función pasando le la ruta del fichero

unlink('prueba.html');

Curl PHP

Una manera fácil y rápida para convertir una web en texto es mediante el uso del curl.

Esto ara una llamada al servidor web y mostrara el resultado en una variable.

    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'url de la web');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $BUFFERO = curl_exec($ch);
    curl_close($ch);

En este caso guardaríamos la respuesta del servidor con la pagina html en la variable «$buffero»

PHP, progressbar en una terminal / consola

Aquí enseñaremos como mostrar una barra de progreso para un script en una terminal o consola.

Añadimos la siguiente función a nuestro script y hacemos una llamada con el numero actual y el total.

function progressBar($done, $total) {
    $perc = floor(($done / $total) * 100);
    $left = 100 - $perc;
    //$write = sprintf("33[0G33[2K[%'={$perc}s>%-{$left}s] - $perc%% - $done/$total", "", "");
    $write = sprintf("33[0G33[2K[%'={$perc}s>%-{$left}s]", "", "");
    fwrite(STDERR, $write);
}

PHP, calcular tiempo de ejecución script

Como calcular el tiempo que dura la ejecución de un script en php, con este sencillo código podrás mostrar el tiempo en «ms»

Primero tenemos que añadir esta función

function microtime_float()
{
    list($useg, $seg) = explode(" ", microtime());
    return ((float)$useg + (float)$seg);
}

Tomamos el primer tiempo en la parte más superior del script

$tiempo_inicio = microtime_float();

y tomamos el segundo tiempo en la parte inferior del mismo

$tiempo_fin = microtime_float();

Luego calculamos el tiempo empleado para dicha ejecución ( esta redondeado a dos decimales )

$tiempo = round($tiempo_fin - $tiempo_inicio,2);

Ahora podemos ver dicho tiempo en la variable «$tiempo»

Conversor euros a pesetas php

Conversor euros a pesestas o pesetas a euros.

Convierte los euros a pesetas en php de manera fácil contando que 1Eur son 166.386 pesetas, solo hace falta multiplicar por los euros que tenemos

<?php

$euros=1;
$pesetas=0;

if($euros >0){
	$pesetas=$euros*166.386;
}

if($pesetas >0){
	$euros=$pesetas/166.386;
}

echo '<p>'.$euros.' EUR</p>';
echo '<p>'.$pesetas.' Pesetas</p>';

?>

PHP, cabecera / header json

Para retornar un archivo json, es importante escribir en la cabecera del fichero de que tipo de datos es en este caso un json ( el navegador lo interpretara, curl etc ) esto se tiene que poner en la primera linea arriba del todo sino puede ocasionar que no se interprete.

header('Content-Type: application/json');

PHP, Cargar imágenes en un producto en Prestashop

Script para añadir imágenes desde php a un producto en prestashop, para cargas masivas de productos, etc. Una manera fácil y rápida de cargarlas en una función

Ejemplo de como cargar imágenes a un producto de  prestashop:

Las variables $pid: se refiere al id del producto en la tabla de la base de datos, y $imagenes: la url de la imagen a cargar. Para insertar varias imágenes solo hace falta llamar a esta función las veces que se quiera con las imágenes que se quieren añadir.

Detecta si es la primera imagen es la primera que tiene el producto y la asigna como principal ( $image->cover = true )

<?php

include_once 'config/config.inc.php';
include(dirname(__FILE__).'/init.php');

    /*
    *
    *   pid = id del producto.
    *   $imagenes = url de la imagen.
    *
    */

    function IMAGENES($pid,$imagenes){

    $product    = new Product($pid);
    $image      = new Image();
    
    $image->id_product = intval($product->id);
    $image->position = Image::getHighestPosition($product->id) + 1;
    if(Image::getImagesTotal($product->id)>0)
        $image->cover = false;
    else
        $image->cover = true;
    $languages = Language::getLanguages();
    foreach ($languages as $language)
         $image->legend[$language['id_lang']] = 'Click to view';
    $id_image = $image->id;
    $image->add();
    $tmpName = tempnam(_PS_IMG_DIR_, 'PS');
    
    copy($imagenes,$tmpName);
    
    $new_path = $image->getPathForCreation();
    ImageManager::resize($tmpName, $new_path.'.'.$image->image_format);
    $imagesTypes = ImageType::getImagesTypes('products');
        foreach ($imagesTypes as $imageType)
    ImageManager::resize($tmpName, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);

}