Archivio della categoria ‘Php’

PHP : Come esportare lo schema di un database come xml

Avere a disposizione un dump di un database é sempre importante per vari e ovvii motivi.

Un modo originale, ma che fornisce un risultato pratico e utilizzabile in svariate circostanze, è quello di ottenere, tramite script PHP, lo schema di un database MySQL come XML. Sapete benissimo quanto sia importante e quante potenzialità abbia questo linguaggio di markup, e, pertanto, avere uno schema di un db descritto da un file xml potrebbe avere notevoli vantaggi a seconda delle esigenze del caso.

Il codice riportato qui sotto é preso da questo interessante articolo e, alla fine, farò alcune veloci considerazioni :

<?php
// database constants da cambiare in relazione al vostro da esportare
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASS", "password");
define("DB_NAME", "name_db");

// connection to the database
$dbhandle = mysql_connect(DB_SERVER, DB_USER, DB_PASS)
or die("Unable to connect to MySQL");

// select a database to work with
$selected = mysql_select_db(DB_NAME, $dbhandle)
or die("Could not select examples");

// return all available tables
$result_tbl = mysql_query( "SHOW TABLES FROM ".DB_NAME, $dbhandle );

$tables = array();
while ($row = mysql_fetch_row($result_tbl)) {
$tables[] = $row[0];
}

$output = "<?xml version=\"1.0\" ?>\n";
$output .= "<schema>";

// iterate over each table and return the fields for each table
foreach ( $tables as $table ) {
$output .= "<table name=\"$table\">";
$result_fld = mysql_query( "SHOW FIELDS FROM ".$table, $dbhandle );

while( $row1 = mysql_fetch_row($result_fld) ) {
$output .= "<field name=\"$row1[0]\" type=\"$row1[1]\"";
$output .= ($row1[3] == "PRI") ? " primary_key=\"yes\" />" : " />";
}

$output .= "</table>";
}

$output .= "</schema>";

// tell the browser what kind of file is come in
header("Content-type: text/xml");
// print out XML that describes the schema
echo $output;

// close the connection
mysql_close($dbhandle);
?>


Dopo aver correttamente definito le costanti, vi connetterete al db MySQL e utilizzerete il comando SHOW TABLES per ottenere tutte le tabelle del database. Fatto questo, si passa ad iterare le singole tabelle per estrarre i campi di ogni tabella sfruttando il comando SHOW FIELDS.

La parte finale del codice, invece, è riservata ad inserire tutte le informazioni estratte in un file XML.

Modificare immagini in PHP su qualsiasi CMS

phpimageeditor thumb Modificare immagini in PHP su qualsiasi CMS

Su Wordpress, come nella maggior parte degli altri CMS, non esistono veri editor di immagini,o meglio, esistono, ma possiedono davvero poche e ridotte funzioni. Inoltre, gestire le immagini, è un’operazione divenuta ormai fondamentale per ogni blogger.

PHP Image Editor è un ottimo script PHP (open source) da tenere in considerazione perché consente a webmaster o semplici blogger di aggiungere comodissime funzionalità (ritaglio e modifica delle immagini, ad esempio) direttamente all’interno del proprio editor di testo oppure in qualsiasi pagina che possa gestire il php.

Anche se l’immagine introduttiva vi fa ben capire il concetto, le funzioni sfruttabili sono: ridimensionamento, ritaglio, rotazione e possibilità di applicare semplici filtri alle immagini.

Come notate, inoltre, tutto è gestibile tramite semplice e pratica interfaccia grafica.

Siccome ho avuto qualche esperienza in merito, lo script è disponibile anche in versione plugin per Joomla e, se il fiuto non m’inganna, a breve lo sarà anche per WordPress. I formati immagine supportati sono PNG, GIF e JPEG

Le specifiche dicono che lo script necessita di PHP 5 o superiore e, logicamente, sul browser deve essere abilitato il JavaScript

Per una Demo, la documentazione e il download, trovate tutto qui

PHP – Inserire previsioni meteo sul blog con Google Weather

canada weather PHP   Inserire previsioni meteo sul blog con Google Weather

Premetto subito che questo articolo non tratta nè di come vedere previsioni meteo online nè vi suggerirà alcun tipo di plugin per inserire previsioni meteo su un sito o su un blog (per Wordpress c’è già WP-Forecast).

Come in altre occasioni, meglio provare ad esercitarci un pò con il php, non credete?

Esistono molti sevizi che permettono di integrare previsioni meteo gratuitamente, ma Google Weather risulta sicuramente tra i più affidabili.

Ecco, allora, come sfruttare le API messe a disposizione proprio da Google per una funzione che prende in ingresso il cap o la città e restituisce previsioni meteo specifiche per i prossimi 4 giorni. Lo si richiama al seguente indirizzo:

http://www.google.com/ig/api?weather=Andria,italy&hl=it ottenendo tutti i dati sulle previsioni del tempo in formato XML.

La funzione PHP che trovate qui sotto, richiama proprio questo servizio e analizza i dati XML restituiti da google weather, inserendoli in una struttura XHTML consona per una pagina web.

Sarà presente, come vedrete se e quando implementerete il tutto sul vostro blog, un’icona (che rappresenta le condizioni meteo),la temperatura e il nome del giorno della settimana.

Ma passiamo alla funzione :

function get_weather($destination)
{
$ch = curl_init();
$result = '';
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com/ig/api?weather='.$destination.'&hl=it');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // RITORNA IL CONTENUTO DELLA CHIAMATA
$res = utf8_encode(curl_exec($ch));
if ($res === false)
{
echo 'Impossibile ottenere meteo.';
return false;
}
$xml = new SimplexmlElement($res);
if (! empty($xml->weather->current_conditions))
{
foreach($xml->weather as $item) {
foreach($item->forecast_conditions as $new) {
$result .= ' &lt;div class="weather_icon" &gt;'.ucfirst($new->day_of_week['data']).' &lt;br / &gt;
&lt;img src="http://www.google.com/' .$new->icon['data'] . '"/> &lt;br / &gt;'.
$new->low['data'].'-'.$new->high['data'].'&deg;C&lt;/div &gt;';
}
}
}
return $result;
}

Come utilizzarla? Bè, semplice, qualora vogliate visualizzare le previsioni di una città richiamatela sul blog così dove volete e solo dopo aver inserito la funzione in un file come functions.php (se siete su Wordpress) :

echo get_weather(“Roma”);

Conoscere il numero di retweet di una URL o pagina web in PHP

retweet Conoscere il numero di retweet di una URL o pagina web in PHP

Quante volte una URL o pagina è stata ‘retweeted’ ? Anche se esistono comodi plugin per Wordpress per conoscere l’esatto numero di retweet ricevuti da una pagina web, comunque mi piace sempre segnalarvi anche l’alternativa via codice php sia perchè, come ripeto sempre, potrebbero esserci dei problemi di performances ad utilizzare troppi plugins sia per esser sempre più in sintonia con il php.

Eccovi, allora, sfruttando le Tweetmeme API, la soluzione :

function tweetCount($url) {
$content = file_get_contents("http://api.tweetmeme.com/url_info?url=".$url);
$element = new SimpleXmlElement($content);
$retweets = $element->story->url_count;
if($retweets){
return $retweets;
} else {
return 0;
}
}

Il suo utilizzo sembra abbastanza ovvio. Eccovi un esempio che mi consente di sapere quanti retweet ha ricevuto la home di questo blog :

echo tweetCount(‘http://pecciola.com’);

Grazie a PHSnippets

PHP – Classi e librerie per gestire documenti pdf, powerpoint ed excel

Il PHP è uno dei più famosi linguaggi di scripting e di base per il web moderno e annovera una serie di classi e librerie per la gestione della stragrande maggioranza di contenuti web.

In questi contenuti é compresa, ovviamente, anche la parte documentale intesa come lettura e scrittura dei vari tipi di formati documentali.

A tal proposito, eccovi 5 classi e librerie utilissime per coloro che devono poter gestire al meglio via codice PHP documenti pdf, excel e powerpoint.

Continua a leggere »

Come generare immagini dinamiche in PHP con Dynamic Dummy Image Generator

Può accadere che abbiate bisogno di generare immagini dinamiche al volo potendo scegliere il background, mostrando un titolo nell’immagine e scegliendone anche le dimensioni. Senza scervellarvi troppo, Dynamic Dummy Image Generator è uno script gratuito PHP che aiuta a creare immagini con sfondo, titolo e misure fissate. Logicamente, mi viene in mente un uso classico [...]

PHP : Come ottenere le keywords di ricerca da una referrer url

Con il PHP, ormai lo avrete capito, si può maneggiare davvero al meglio una URL in modo da ottenere preziose informazioni. E’ il caso, ad esempio, delle famose referrer url, ovvero l’URL di un elemento che conduce all’elemento corrente. L’applicazione più nota al riguardo è quello delle url dei vari search engines tramite cui un [...]

PHP – Come ottenere la url di destinazione finale di un TinyUrl

TinyUrl è un servizio web tra i più utilizzati negli ultimi anni. Si chiamano, in gergo, ‘accorciatori di url’ e, come ben sapete, servono a creare url molto ristrette partendo da indirizzi web decisamente lunghi e complessi (non solo da ricordare). Logicamente, non è il solo che trovate in rete, poiché quasi ogni giorno ne [...]