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)
?>

uppercase PHP

Convertir minúsculas a mayúsculas en php.

Función: strtoupper

string strtoupper ( string $string )

Devuelve el string con todos los caracteres alfabéticos convertidos a mayúsculas.

Notar que ser ‘alfabético’ está determinado por la configuración regional actual. Por ejemplo, en la configuración regional por defecto «C» caracteres como la diéresis-a (ä) no se convertirán.

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // muestra: MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>

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);
}

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);

}