Archivio

Posts Tagged ‘php’

PHP compie 16 anni

9 giugno 2011 Nessun commento

di Claudio Garau

PHP, il noto linguaggio per lo scripting Server Side, ha compiuto 16 anni di vita, era infatti l’8 giugno del tecnologicamente lontanissimo 1995, quando lo sviluppatore danese Rasmus Lerdorf ne annunciava la nascita su USENET. Inizialmente l’acronimo PHP non corrispondeva all’attuale “PHP: Hypertext Preprocessor” ma a “Personal Home Page”. –> Leggi tutto l’articolo di Html.it

Categorie:news, php Tag: ,

Come creare in PHP una tabella in un database MySQL

22 dicembre 2010 Nessun commento

In questo articolo vedremo come in Php si può creare una tabella di un database MySQL. Prima affronteremo il file config.php in cui ci sono i parametri di connessione al server MySQL e la funzione di php per la connessione e poi affronteremo il file per la creazione della tabella, alla fine del post troverai lo zip con all’interno i 2 file php che puoi scaricare per fare tutte le prove che vuoi.

Prosegui la lettura…

WordPress: Modificare il plugin transposh per le traduzioni automatiche

17 dicembre 2010 2 commenti

Nel mio blog utilizzo il plugin transposh per le traduzioni automatiche della homepage, dei post e delle pagine. Mi succedeva che a fianco delle bandierine in home page comparisse la scritta Edit Translation che volevo nascondere allora ho deciso di mettere mani direttamente nel codice php del plugin.

Ho modificato il file transposh_widget.php che si trova /wordpress/wp-content/plugins/transposh-translation-filter-for-wordpress/wp e nella classe transposh_plugin_widget ho modificato la funzione transposh_widget($args) commentando questa parte di codice:

 // add the edit checkbox only for translators for languages marked as editable
 // if ($this->transposh->is_editing_permitted()) {
 //     echo '<input type="checkbox" name="' . EDIT_PARAM . '" value="1" ' .
//      ($this->transposh->edit_mode ? 'checked="checked"' : '') .
//      ' onclick="this.form.submit();"/>&nbsp;Edit Translation';
//}

[AGGIORNAMENTO]
Parlando nei commenti con il realizzatore del plugin Ofer Wald, ho scoperto che si poteva fare il tutto senza toccare una linea di codice. Andando nella sezione Impostazioni->Transposh e settando nell’area Transalation Settings, l’opzione Who can translate ? solo per Amministratore e non Anonymous.

WordPress: personalizzare l’area quickpress della bacheca

17 dicembre 2010 Nessun commento

Quando mi vengono delle idee per nuovi argomenti/post per il mio blog me li appunto salvando una bozza tramite l’area quickpress della bacheca di wordpress.

Recentemente mi è capitato per errore che invece di cliccare il bottone Salva Bozza ho cliccatto il bottone Pubblica rendendo pubblico un articolo non finito che è solo una bozza. Se lo leggeva qualcuno tramite i miei feed o direttamente sul blog facevo una figuraccia.

Allora ho deciso di modificare il codice php dell’area quickpress della bacheca di wordpress per nascondere il bottone Pubblica e per evitare questi errori in futuro.

Ho preso il file dashboard.php che si trova nella cartella \wp-admin\includes\ e nella funzione wp_dashboard_quick_press_output() ho commentato la parte di codice che aggiungeva il bottone pubblica in questo modo:

<!--<span id="publishing-action">
     <input type="submit" name="publish" id="publish" accesskey="p" tabindex="5" class="button-primary" value="<?php current_user_can('publish_posts') ? esc_attr_e('Publish') : esc_attr_e('Submit for Review'); ?>" />
     <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" />
</span>-->

Ho solo commentato e non cancellato le righe di codice così in futuro posso riabilitare il bottone Pubblica. Adesso non c’è più pericolo di sbagliare.

Programmazione in Php: 7 funzioni che probabilmente non hai mai usato

30 novembre 2010 4 commenti

Quando programmiamo in PHP, spesso ci limitiamo ad un numero limitato di funzioni API: quelli comuni, come il print (), header (), definire (), isset (), htmlspecialchars (), ecc Se alcune funzionalità necessarie non esistono, spesso ne scriviamo delle nuove facendo uso di questi componenti di base che conosciamo. Le API di PHP in realtà offrono un sacco di funzionalità, alcune inutili e qualcuna utile, che vengono usate raramente. Ho cercato tra le funzioni disponibili e mi sono interessato a trovarne qualcuna di cui davvero ho bisogno. Ecco, condivido con voi le mie scoperte.

1. sys_getloadavg ()
sys_getloadvg () è una funzione che restituisce tre misure del “carico” su un sistema. Il carico è il numero di processi in coda di esecuzione del sistema. I 3 elementi della matrice sono il carico medio per gli ultimi 1, 5 e 15 minuti.

1
2
3
4
5
$carico = sys_getloadavg(),
se ($carico[0] > 80) {
    header('HTTP/1.1 503 Troppo occupato, riprovare più tardi');
    die('Il server è occupato più tardi. Riprova.');
}

Piuttosto che avere il servizio Web non più disponibile (offline) semplicemente perché è crollato tutto dopo aver ricevute troppe richieste, questo codice permetterà in maniera preventiva di accettare alcune richieste e di negarsi ad altre. Questo codice però non funziona su Windows.

2. cal_days_in_month ()
cal_days_in_month () restituisce il numero di giorni in un dato mese:

1
2
$giorni = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y")); / / 31
echo($giorni - data("d") + 1 )."giorni fino a quando".date("F", mktime(0, 0, 0, data("m") + 1, 1, 1970));

3. get_browser ()
Non sarebbe bello scoprire che cosa può fare il browser di un utente prima di inviare la pagina? Beh, si può con get_browser (). Avrete bisogno di php_browscap.ini prima, e il punto di direttiva browscap al file. Si potrebbe avere qualcosa di simile a questa:

1
2
3
$browser = get_browser(null, true);
if(!$browser["frames"] | | !$ browser["cookies"])
      echo "Si prega di aggiornare il browser o usare un browser più moderno ed attivare i cookies perchè alcune sezioni di questo sito potrebbero essere inaccessibili";

Questo non è in grado di rilevare le singole configurazioni di browser, tuttavia, non può essere utilizzato per rilevare se è abilitato JavaScript, per esempio. Questa funzione può essere utile per sapere quale browser si usa e quale piattaforma viene utilizzata.

4. debug_print_backtrace ()
Può essere molto difficile da rintracciare un errore nel codice in particolare quando si cerca un errore logico, invece grazie a debug_print_backtrace() potrebbe essere molto più facile. Come ad esempio:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$a = 0; 
 
function iterate() 
{ 
      global $a; 
      if( $a < 10 ) recur(); 
      echo $a.", "; 
} 
 
function recur() 
{ 
     global $a; 
     $a++; 
     // how did I get here? 
     echo " \n \n \n "; 
    debug_print_backtrace(); 
    if ( $a < 10 ) iterate (); 
}   
 
iterate (); 
# OUTPUT: #0 recur() called at [C:\htdocs\php_stuff\index.php:8] #1 iterate() called at [C:\htdocs\php_stuff\index.php:25] #0 recur() called at [C:\htdocs\php_stuff\index.php:8] #1 iterate() called at [C:\htdocs\php_stuff\index.php:21] #2 recur() called at [C:\htdocs\php_stuff\index.php:8] #3 iterate() called at [C:\htdocs\php_stuff\index.php:25] #0 recur() called at [C:\htdocs\php_stuff\index.php:8] #1 iterate() called at [C:\htdocs\php_stuff\index.php:21] #2 recur() called at [C:\htdocs\php_stuff\index.php:8] #3 iterate() called at [C:\htdocs\php_stuff\index.php:21] #4 recur() called at [C:\htdocs\php_stuff\index.php:8] #5 iterate() called at [C:\htdocs\php_stuff\index.php:25] [ ... ]

5. natsort()
natsort() è una funzione che ordina elementi di una matrice in maniera naturale (cioè, in un ordine che sembra logico a una persona), piuttosto che un ordine di tipo alfabetico. Prendete, per esempio:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$items = array("100 mele", "5 mele", "110 mele", "55 mele");
 
/ / normale ordinamento:
sort($items);
print_r($items);
 
# Il risultato:
Array #
# (
# [0] => 100 mele
# [1] => 110 mele
# [2] => 5 mele
# [3] => 55 mele
#)

natsort($items);
print_r($items);
 
# Il risultato:
# Array
# (
# [2] => 5 mele
# [3] => 55 mele
# [0] => 100 mele
# [1] => 110 mele
#)

6. Levenshtein()
Levenshtein() è una funzione che aiuta a trovare la miglior somiglianza tra 2 parole. Prendiamo, per esempio, il codice seguente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$dictionary = array( "php" , "javascript" , "css" ); 
$word = "japhp"; 
$best_match = $dictionary[0]; 
$match_value = levenshtein ($dictionary[0] , $word); 
 
foreach($dictionary as $w) 
{ 
     $value = levenshtein($word , $w); 
     if( $value < $match_value) 
     { 
          $best_match = $w; 
          $match_value = $value; 
     } 
} 
 
echo "Forse cercavi la categoria ' $best_match ' ?";

In questo caso, l’utente è stato chiesto di fornire un nome di categoria. Ha scritto “japhp”, che non è valido. Poiché questo è probabile che sia un errore di digitazione, grazie a questa funzione riusciamo a trovare la categoria più somigliante (“Forse cercavi categoria ‘php’?”).

7. glob()
glob() , vi farà sentire stupidi dopo l’uso di opendir(), readdir() e closedir() per cercare un file. La procedura è semplicissima:

1
2
foreach (glob("*. php") as $file)
    echo "$ file\ n";

Di Più?
Ci sono un sacco di funzioni utili e sconosciute là fuori come http_build_query(), register_shutdown_function() e pspell_suggest, quali sono le vostre preferite?

Fonte: infinity-infinity.com