Analogamente al linguaggio PHP, che presenta la funzione str_replace, anche il DBMS MySQL ci offre una funzione simile: REPLACE. Pensiamo ad esempio ai BBCodes, pezzi di codice inseriti dall’utente e poi convertiti in (x)HTML: ci sono molte alternative sul come effettuare la conversione da BBCodes ad (x)HTML; noi prenderemo in considerazione l’alternativa in cui i dati inseriti dall’utente vengano inseriti nel database così come sono ed i BBCodes contenuti vengano poi convertiti in tag da MySQL.
Ecco il codice di esempio:
UPDATE `articoli` SET `contenuto`= REPLACE(`contenuto`,'[b]','<strong>');
Con questo codice verrà convertito il BBCode [B] nel tag <strong>. Certamente non è sufficente questa unica query per rendere il tutto produttivo ma rende bene l’idea di come si possa utilizzare la funzione REPLACE di MySQL.
Script per cancellare tutti i file più vecchi di un numero di giorni:
find /dir/to/file/* -mtime +3 -exec rm {} \;
dove -mtime +3 indica che verranno cercati i file creati più di 3 giorni fa.
Se si tratta di un file ASCII utilizzare il seguente codice:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://news.google.com/news?hl=en&topic=t&output=rss');
$fp = fopen('rss.xml', 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
Se invece si tratta di un file binario utilizzare quest’altro codice
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://example.com/serverfile.zip');
$fp = fopen('file.zip', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
Come molti sapranno è sufficiente inserire un indirizzo email in una pagina web per essere bersagliati da una valanga di email di spam. Con qualche piccolo accorgimento si può evitare questo inconveniente. Io ad esempio ho deciso di usare javascript ma ci sono moltissimi altri modi per farlo. Ecco il codice da inserire nell’head:
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
mail_addr('#mail', 'info', 'andreafalco', 'com');
});
function mail_addr(i, n, d, t) {
var string_mail = n + '@' + d + '.' + t;
$(i).html(string_mail);
$(i).attr('href', 'ma' + 'ilto' + ':' + string_mail);
}
</script>
function gzfile_get_contents($filename, $use_include_path = 0)
{
//File does not exist
if(!@file_exists($filename)) {
return false;
}
//Read and imploding the array to produce a one line string
$data = gzfile($filename, $use_include_path);
$data = implode($data);
return $data;
}
//scriviamo il risultato in un file
file_put_contents('punto.txt', gzfile_get_contents('punto.txt.gz'));
Rappresenta un insieme di coppie chiave/valore organizzate in base al codice hash della chiave.
using System;
using System.Collections;
class Example
{
public static void Main()
{
Hashtable htTest = new Hashtable();
htTest.Add("txt", "notepad.exe");
htTest.Add("bmp", "paint.exe");
htTest.Add("dib", "paint.exe");
htTest.Add("rtf", "wordpad.exe");
try
{
htTest.Add("txt", "winword.exe");
}
catch
{
Console.WriteLine("Un elemento con 'Key' = 'txt' esiste gia.");
}
Console.WriteLine("Per la 'key' = 'rtf', 'Value' = {0}.", htTest["rtf"]);
htTest["rtf"] = "winword.exe";
Console.WriteLine("Per la 'key' = 'rtf', 'Value' = {0}.", htTest["rtf"]);
htTest["doc"] = "winword.exe";
if (!htTest.ContainsKey("ht"))
{
htTest.Add("ht", "hypertrm.exe");
Console.WriteLine("Valore aggiunto con 'key' = 'ht', 'Value' = {0}", htTest["ht"]);
}
Console.WriteLine();
foreach( DictionaryEntry de in htTest )
{
Console.WriteLine("'Key' = {0}, 'Value' = {1}", de.Key, de.Value);
}
ICollection valueColl = htTest.Values;
Console.WriteLine();
foreach( string s in valueColl )
{
Console.WriteLine("'Value' = {0}", s);
}
ICollection keyColl = htTest.Keys;
Console.WriteLine();
foreach( string s in keyColl )
{
Console.WriteLine("'Key' = {0}", s);
}
Console.WriteLine("\nRimuovo elemento con chiave = 'doc'");
htTest.Remove("doc");
if (!htTest.ContainsKey("doc"))
{
Console.WriteLine("L'elemento con chiave = 'doc' non esiste.");
}
}
}
$number = 15;
printf("Decimal: %d", $number); //Decimal: 15
printf("Binary: %b", $number); //Binary: 1111
printf("Double: %f", $number); //Double: 15.000000
printf("Octal: %o", $number); //Octal: 17
printf("String: %s", $number); //String: 15
printf("Hex (lower): %x", $number); //Hex (lower): f
printf("Hex (upper): %X", $number); //Hex (upper): F
$main_img = "Porsche_911_996_Carrera_4S.jpg"; //immagine principale
$watermark_img = "watermark.gif"; //use GIF or PNG, JPEG has no tranparency support
$padding = 3; //distance to border in pixels for watermark image
$opacity = 100; //image opacity for transparent watermark
$watermark = imagecreatefromgif($watermark_img); //create watermark
$image = imagecreatefromjpeg($main_img); //create main graphic
if(!$image || !$watermark)
die("Error: main image or watermark could not be loaded!");
$watermark_size = getimagesize($watermark_img);
$watermark_width = $watermark_size[0];
$watermark_height = $watermark_size[1];
$image_size = getimagesize($main_img);
$dest_x = $image_size[0] - $watermark_width - $padding;
$dest_y = $image_size[1] - $watermark_height - $padding;
//copy watermark on main image
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity);
//print image to screen
header("content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
Tratto da http://www.sastgroup.com/tutorials/aggiungere-un-watermark-alle-vostre-immagini-con-php
$count = 0;
$hd = opendir("percorso/vostra/directory");
while(($file = readdir($hd)) !== false) {
//Se i file sono nascosti non gli conta
if ($file[0] != ".") $count++;
}
echo $count; //stampa a video il numero totale di files
Tratto da http://www.sastgroup.com/tutorials/php-contare-il-numero-di-files-in-una-directory