• Save
Php Funzioni Built In Barbiera 97
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Php Funzioni Built In Barbiera 97

  • 2,422 views
Uploaded on

Esempi di utilizzo delle funzioni built-in del PHP

Esempi di utilizzo delle funzioni built-in del PHP

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,422
On Slideshare
2,412
From Embeds
10
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 10

http://www.linkedin.com 5
https://www.linkedin.com 3
http://www.slideshare.net 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PHP Le principali funzioni built-in del PHP Roberto Barbiera Corso di formazione per “Programmatori Web”
  • 2. Overview
    • Lavorare con le stringhe
    • Stringhe ed espressioni regolari
    • Lavorare con data e ora
    • Lavorare con il filesystem
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO "PROGRAMMATORI WEB"
  • 3. Introduzione
    • Le funzioni sono una delle parti più importanti di un linguaggio di programmazione, perché, se note, permettono di risolvere problemi complessi con poche linee di codice
    • Le funzioni messe a disposizione dal PHP sono moltissime, sono documentate in:
      • http://www.php.net/manual/it/indexes.php
    • L’approccio che adotteremo è quello di esporre un problema e mostrarne la soluzione mediante una o più delle funzioni del PHP
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO "PROGRAMMATORI WEB"
  • 4. 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO "PROGRAMMATORI WEB" Lavorare con le Stringhe
  • 5. Lavorare con le Stringhe Controllo delle maiuscole
    • Problema Si desidera trasformare un valore stringa in maiuscolo o minuscolo
    • Soluzione Utilizzare le funzioni strtoupper() o strtolower()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO "PROGRAMMATORI WEB"
  • 6. Lavorare con le Stringhe Controllo delle maiuscole 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa $miastringa = &quot;un nuovo rettore all'Universita' degli Studi di Palermo &quot;; // mettiamo in maiuscolo $miastringaUp = strtoupper ($miastringa); echo $miastringaUp ; // mettiamo in minuscolo $miastringaLow = strtolower ($miastringa); echo $miastringaLow; ?>
  • 7. Lavorare con le Stringhe Controllo delle maiuscole più preciso
    • Problema Si desidera mettere in maiuscolo solamente il primo carattere oppure i primi caratteri di ogni parola
    • Soluzione Utilizzare le funzioni ucfirst() o ucwords()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 8. Lavorare con le Stringhe Controllo delle maiuscole più preciso 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa $miastringa = &quot;un nuovo rettore all'Universita' degli Studi di Palermo &quot;; // mettiamo in maiuscolo il primo carattere $miastringa1 = ucfirst($miastringa); echo $miastringa1; // mettiamo in minuscolo il primo carattere di ogni parola $miastringa2 = ucwords($miastringa); echo $miastringa2; ?>
  • 9. Lavorare con le Stringhe Controllo di valori di stringa vuoti
    • Problema Si deidera verificare se un valore di stringa contiene caratteri validi
    • Soluzione Utilizzare le funzioni isset() combinata con trim()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 10. Lavorare con le Stringhe Controllo di valori di stringa vuoti 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa // provare ad impostare prima &quot; &quot; e poi &quot;0&quot; $str = &quot; &quot;; // verifichiamo se è vuota echo (!isset ($str) || trim ($str) == &quot;&quot;) ? &quot;Vuota &quot; : &quot;Non vuota &quot;; // verifica con la funzione empty() echo ( empty ($str)) ? &quot;Vuota &quot; : &quot;Non vuota &quot;; ?>
  • 11. Lavorare con le Stringhe Estrazione di porzioni di stringa
    • Problema Si desidera estrarre porzioni di stringa
    • Soluzione Utilizzare le funzioni substr()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 12. Lavorare con le Stringhe Estrazione di porzioni di stringa 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa $str = &quot;serendipity&quot;; // rimuoviamo i primi 6 caratteri $newStr = substr($str, 6); echo $newStr.&quot; &quot;; // rimuoviamo gli ultimi 6 caratteri $newStr = substr($str, 0, -6); echo $newStr.&quot; &quot;; // estraiamo dal carattere 3 altri 4 caratteri $newStr = substr($str, 2, 4); echo $newStr.&quot; &quot;; ?>
  • 13. Lavorare con le Stringhe Troncamento di stringhe
    • Problema Si desidera troncare una lunga stringa riducendola ad una particolare lunghezza e sostituire ai caratteri troncati un segnaposto personalizzato, per esempio con tre puntini
    • Soluzione Utilizzare le funzioni substr() e strlen() per troncare la stringa ad una lunghezza specificata, quindi aggiungere il segnaposto alla stringa troncata.
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 14. Lavorare con le Stringhe Troncamento di stringhe 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php function truncateString($str, $maxChars=40, $holder=&quot;...&quot;) { // controlla la lunghezza della stringa e la tronca se necessario if (strlen($str) > $maxChars) { return trim(substr($str, 0, $maxChars)) . $holder; } else { return $str; } } ?>
  • 15. Lavorare con le Stringhe Analisi di elenchi separati da virgole
    • Problema Si desidera estrarre i singoli elementi da un elenco separato da virgole
    • Soluzione Scomporre la stringa in un array utilizzando come delimitatore la virgola. Utilizzare la funzione explode()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 16. Lavorare con le Stringhe Analisi di elenchi separati da virgole 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo una lista di elmenti separati da virgola $ingredientiStr = &quot;burro, latte, zucchero, uova, farina, cioccolato&quot;; // scomponiamo la stringa in array utilizzando // come separatore la virgona $ingredientiArr = explode (&quot;, &quot;, $ingredientiStr); // iteriamo l'array foreach ($ingredientiArr as $ingrediente) { print $ingrediente . &quot; &quot;; } ?>
  • 17. Lavorare con le Stringhe Analisi di URL
    • Problema Si desidera estrarre protocollo, nome di dominio, percorso o altri componenti significativi di un URL
    • Soluzione Utilizzare la funzione parse_url() per suddividere automaticamente l’URL nelle parti che lo costituiscono
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 18. Lavorare con le Stringhe Analisi di URL 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo l'URL $url = &quot;http://immaweb.unipa.it:8080/immaweb/public/tutorial.seam?jsessionid=B1AB484E0634E.node2&quot;; // parserizza l'URL in un array associativo $dati = parse_url ($url); // stampa tutti i componenti dell'URL foreach ($dati as $chiave=>$valore) { echo &quot;$chiave: $valore &quot;; } ?>
  • 19. 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; Stringhe ed espressioni regolari
  • 20. Stringhe ed espressioni regolari Le espressioni regolari
    • Le Espressioni Regolari servono per trovare corrispondenze di modelli ( pattern ) su stringhe e costituiscono uno strumento tanto difficile ed ostico (soprattutto all'inizio) quanto potente ed utile.
    • Ad esempio : un campo di un modulo destinato a contenere un importo in Euro: come fare a verificare che quanto digitato dall'utente sia corretto ?
    • Occorre costruire un modello, la cui corrispondenza con il contenuto del campo del modulo andrà poi verificata.
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 21. Stringhe ed espressioni regolari Le espressioni regolari
    • Il modello del nostro esempio potrebbe assomigliare a questo :
    • ^[0-9]{1,10}.[0-9]{2}$
    • PHP conosce due classi di espressioni regolari, le POSIX e quelle compatibili con PERL . Le differenze riguardano essenzialmente la sintassi.
    • Verranno trattate soltanto le espressioni regolari del primo tipo.
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 22. Stringhe ed espressioni regolari Costruzione del Modello
    • Nella costruzione del modello, la cui corrispondenza andrà verificata, ci sono naturalmente una serie di regole da seguire, prima fra tutte quella che riguarda i cosìddetti &quot;metacaratteri&quot; , ossia dei caratteri speciali, nel senso che, all'interno di un'espressione regolare, assumono un preciso significato.
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 23. Stringhe ed espressioni regolari I metacaratteri
    • . indica qualsiasi carattere (escluso un acapo)
    • * indica zero o più occorrenze (di un carattere o di un gruppo di caratteri)
    • + che indica una o più occorrenze (di un carattere o di un gruppo di caratteri)
    • ? indica zero o una occorrenza (di un carattere o di un gruppo di caratteri)
    • {} le parentesi graffe, che indicano il numero esatto, o minimo, o massimo, o l'intervallo di occorrenze (di un carattere o di un gruppo di caratteri)
    • ^ indica l'inizio della stringa (o, se all'interno di una classe di caratteri, la negazione della stessa)
    • $ indica la fine della stringa
    • | indica l'operatore OR
    • carattere di escape dei caratteri speciali
    • () le parentesi tonde, destinate a contenere una sottostringa
    • [] le parentesi quadre, destinate a contenere una 'classe' di caratteri
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 24.
    • Caratteristica comune a tutti questi metacaratteri è che se vogliono essere usati per il loro &quot;valore letterale&quot; (e non per quello speciale), devono essere preceduti da un backslash (), per cui, ad esempio, l'esistenza di un punto interrogativo all'interno di una stringa, potrebbe essere accertata con questa espressione:
      • ?
    Stringhe ed espressioni regolari I metacaratteri 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 25.
    • Le parentesi graffe , indicano il numero esatto, minimo, massimo o l'intervallo di volte in cui una un'esatta sequenza o una classe di caratteri, devono essere presenti in una stringa:
        • {3} esattamente 3 volte;
        • {3,} minimo 3 volte;
        • {,3} massimo 3 volte;
        • {1,3} da 1 a 3 volte;
    • Le parentesi tonde , fanno riferimento ad una sottostringa, o una parte di stringa che viene assunta per il suo esatto valore letterale.
      • Quindi ad esempio (abc) si riferisce all'esatta sequenza di caratteri abc, a differenza, come abbiamo visto, di [abc] che si riferisce invece ad uno dei tre caratteri.
    • Le parentesi quadre , sono destinate a contenere una 'classe' di caratteri
    Stringhe ed espressioni regolari Le parentesi 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 26.
    • Il punto che sta per qualsiasi carattere escluso un accapo
      • l'espressione (.)+ indica qualsiasi carattere ripetuto una o più volte
    • Il carattere | ( pipe ) indica l'operatore OR e consente, di presentare più alternative per un'espressione;
      • (bello|normale|brutto) va letta come &quot;bello o normale o brutto&quot; ed è quindi soddisfatta quando solo una delle tre parole viene trovata nella stringa analizzata.
    • Il carattere ^ ha una duplice valenza, a seconda del punto in cui si trovi all'interno dell'Espressione Regolare
      • Se posto all'inizio del modello indica l'inizio esatto dello stesso: ^(ciao) indica che la stringa deve iniziare con la parola ciao.
      • Se posto all'interno di una classe di caratteri, nega la stessa: [^0-9] indica qualsiasi carattere che non sia un numero.
    Stringhe ed espressioni regolari I metacaratteri 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 27.
    • il carattere $ indica la fine di una stringa, per cui se viene usato in combinazione con ^, è possibile costruire un'Espressione Regolare che indichi un modello esattamente contenuto in una stringa
      • ^Ciao come stai ?$,
    • o che indichi l'esatto inizio e l'esatta fine di una stringa,
      • ^(Ciao) [a-zA-Z]+ (come stai ?)$
    Stringhe ed espressioni regolari I metacaratteri 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 28.
    • Esistono delle abbreviazioni per ottenere ciò che si desidera, in relazione, ad esempio, alle classi di caratteri usate più di frequente.
      • d equivale a [0-9] D equivale a [^0-9]
      • w equivale a [0-9A-Za-z] W equivale a [^0-9A-Za-z]
      • s equivale a [ ] S equivale a [^ ]
      • [[:alpha:]] indica qualsiasi lettera, [[:digit:]] indica qualsiasi cifra maiuscola o minuscola
      • [[:space:]] indica tutti i caratteri di [[:upper:]] indica le lettere maiuscole spazio ( )
      • [[:lower:]] indica le lettere minuscole [[:punct:]] indica i caratteri di punteggiatura
      • [[:xdigit:]] indica i valori esadecimali
    Stringhe ed espressioni regolari Abbreviazioni 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 29. Stringhe ed espressioni regolari Esempi
    • [abc] questo modello è soddisfatto quando viene trovata una delle lettere, senza tener conto dell'ordine in cui sono presenti;
    • [a-z] in questo modello è presente un intervallo di caratteri (notare il segno -, sta per &quot;dalla a alla z&quot;), esso è soddisfatto quando viene trovato uno qualsiasi dei caratteri compresi nell'intervallo;
    • [0-9] in questo modello è presente invece un intervallo di numeri, esso è soddisfatto quando viene trovato uno qualsiasi dei numeri compresi nell'intervallo;
    • [a-z0-9?] La corrispondenza viene trovata quando la stringa contiene una lettera (minuscola in questo caso), un numero o il carattere ? (da notare il segno prima di ?, perchè il punto interrogativo è un carattere speciale, che qui però assumiamo per il suo valore letterale);
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 30.
    • [^a-z] questo modello è soddisfatto quando viene trovato un qualsiasi carattere che non sia una lettera minuscola (notate il segno ^ che all'interno della classe, la nega);
    • [a-z0-9?]? i caratteri contenuti nella classe devono essere presenti zero o una volta;
    • [a-z0-9?]* i caratteri contenuti nella classe devono essere presenti zero o più volte;
    • [a-z0-9?]{3} i caratteri contenuti nella classe devono essere presenti esattamente tre volte;
    • [a-z0-9?]{1,3} i caratteri contenuti nella classe devono essere presenti da una a tre volte;
    • [a-z0-9?]{3,} i caratteri contenuti nella classe devono essere presenti minimo tre volte;
    • [a-z0-9?]{,3} i caratteri contenuti nella classe devono essere presenti massimo tre volte.
    Stringhe ed espressioni regolari Esempi 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 31.
    • Le funzioni che PHP ci mette a disposizione (fecendo riferimento alle POSIX extended e non alle Perl-Compatible) per lavorare con le Reg. Exp., sono le seguenti
      • ereg() (e l'omologa eregi() che si differenzia solo per il fatto di essere insensibile alla differenza tra lettere maiuscole e minuscole)
      • ereg_replace() (e l'omologa eregi_replace() che si differenzia solo per il fatto di essere insensibile alla differenza tra lettere maiuscole e minuscole)
      • split() (e l'omologa spliti() che si differenzia solo per il fatto di essere insensibile alla differenza tra lettere maiuscole e minuscole)
    • http://www.php.net/manual/it/ref.regex.php
    Stringhe ed espressioni regolari Le funzioni del PHP 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 32.
    • La funzione ereg() , serve a trovare la corrispondenza di un modello all'interno di una stringa.
    • Restituisce TRUE o FALSE a seconda se venga trovata o meno la corrispondenza (o se si verifichino degli errori).
    • Il terzo argomento, opzionale, se inserito, restituirà un array che conterrà tanti elementi quante sono le parti del modello poste tra parentesi tonde ritrovate nella stringa più uno che sarà costituito dall'intera stringa ritrovata, e a questo array si potrà naturalmente fare riferimento per &quot;utilizzare&quot; quelle parti di testo ritrovate
    Stringhe ed espressioni regolari Le funzioni del PHP 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; int ereg ( string epressione_regolare, string stringa [, array regs])
  • 33.
    • La funzione ereg_replace() è usata per sostituire, all'interno della stringa passata come terzo argomento, la parte di testo che corrisponda all'Espressione Regolare passata come primo argomento, con il testo passato come secondo argomento;
    • Restituisce la stringa originaria (eventualmente) modificata dalla sostituzione.
    • E’ possibile &quot;utilizzare&quot; quelle parti di testo ritrovate nella stringa che corrispondevano alle sottostringhe dell'Espressione Regolare poste fra parentesi tonde;
    • Per far riferimento a queste parti di testo, si usa la notazione , dove n è il numero progressivo (partendo da , si riferisce, invece all'intera stringa) che fa riferimento alle sottostringhe comprese tra parentesi tonde e che si incrementa di pari passo ( farà riferimento alla prima sottostringa, alla seconda, e così via).
    Stringhe ed espressioni regolari Le funzioni del PHP 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; string ereg_replace (string espressione_regolare, string testo_sostitutivo, string stringa)
  • 34.
    • La funzione split() restituisce una matrice di stringhe che sono delle sottostringhe del parametro stringa . Queste sono ottenute suddividendo il parametro secondo i limiti indicati dal parametro sensibile alle maiuscole espressione_regolare . Se viene specificato il parametro limite , la funzione restituisce una matrice con un numero di elementi al massimo pari a limite . L'ultimo elemento della matrice contiene la parte restante del parametro stringa fornito. Se si verificano errori la funzione split() restituisce FALSE .
    Stringhe ed espressioni regolari Le funzioni del PHP 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; array split (string $espressione_regolare, string $stringa [, int $limite ] )
  • 35. Stringhe ed espressioni regolari Eliminazione di spazi da stringhe
    • Problema Si desidera eliminare tutti o alcuni spazi vuoti da una stringa, o comprimere più spazi in una stringa
    • Soluzione Utilizzare un’espressione regolare e la funzione ereg_replace() per trovare e sostituire più caratteri spazio con un singolo carattere
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 36. Lavorare con le Stringhe Eliminazione di spazi da stringhe 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa $str = &quot; questa è una stringa con un sacco di spazi inutili &quot;; // usiamo trim() per eliminare gli spazzi all'inizio e alla fine // usiamo l'espressione regolare per comprimere gli spazi intermedi $newStr = ereg_replace(' [[:space:]]+ ', ' ', trim( $str )); echo '->'.$newStr.'<-'; ?>
  • 37. Stringhe ed espressioni regolari Conteggio di parole in una stringa
    • Problema Si desidera contare il numero di parole in una frase o in un paragrafo
    • Soluzione Utilizzare un espressione regolare e la funzione split() per identificare le singole parole nella stringa, quindi contare il numero di occorrenze
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 38. Lavorare con le Stringhe Conteggio di parole in una stringa 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa $text = &quot;il corso php del 2008 e' troppo bello&quot;; // restituisce un array contenente sottostringhe separate // da caratteri corrispondenti al modello $words = split('[^0-9A-Za-z']+', $text,-1); // conta il numero di elementi nell'array echo count( $words ) . &quot; words &quot;; foreach ( $words as $word ) { echo &quot;[&quot;.$word.&quot;] &quot;; } ?>
  • 39. Stringhe ed espressioni regolari Validazione e trasformazione di stringhe
    • Problema Si desidera validare il formato di una stringa e modificarne il contenuto
    • Soluzione Utilizzare un espressione regolare e la funzione ereg() o eregi() per validare la stringa. Utilizzare un modello e la funzione ereg_replace() o eregi_replace() per modificare il contenuto.
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 40. Lavorare con le Stringhe Conteggio di parole in una stringa 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php $mail = &quot;mail@unipa.it&quot;; $text = &quot;La mia email è: &quot;.$mail; $modello = &quot;([a-z0-9._-]+)(@[a-z0-9.-_]+)(.{1}[a-z]{2,4})$&quot;; ereg($modello,$mail,$regs); if ($mail==$regs[0]) { echo $text.&quot; &quot;; echo eregi_replace ($modello , &quot;<a href=&quot;mailto:&quot;></a>&quot;, $text); } else { echo &quot;indirizzo email non valido!! &quot;; } ?>
  • 41. 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; Lavorare con data e ora
  • 42. Lavorare con data e ora Ottenimento di data e ora correnti
    • Problema Si desidera visualizzare la data e l’ora corrente
    • Soluzione Utilizzare la funzione PHP getdate()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 43. Lavorare con le Stringhe Ottenimento di data e ora correnti 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // otteniamo la data corrente $now = getdate (); // la trasformiamo in stringa $currentTime = $now[&quot;hours&quot;] . &quot;:&quot; . $now[&quot;minutes&quot;] . &quot;:&quot; . $now[&quot;seconds&quot;]; $currentDate = $now[&quot;mday&quot;] . &quot;.&quot; . $now[&quot;mon&quot;] . &quot;.&quot; . $now[&quot;year&quot;]; echo &quot;Adesso sono le ore $currentTime del $currentDate&quot;; ?>
  • 44. Lavorare con data e ora Formattazione di timestamp
    • Problema Si desidera trasformare un timestamp in una stringa leggibile
    • Soluzione Utilizzare le funzioni PHP strftime() e setlocale() per modificare l’aspetto del timestamp con diversi codici di formattazione. Per ottenere il timestamp utilizzare la funzione mktime().
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 45. Lavorare con le Stringhe Formattazione di timestamp 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php setlocale( LC_TIME, 'italian'); $timestamp= mktime (); echo &quot;timestamp = $timestamp &quot;; // otteniamo la data dal timestamp echo strftime (&quot;%d/%m/%Y &quot;,$timestamp ); // otteniamo la data localizzata echo strftime (&quot;%A %d %B %Y &quot;,$timestamp ); // otteniamo l'ora echo strftime (&quot;ora = %H:%M:%S &quot;,$timestamp ); ?>
  • 46. Lavorare con data e ora Validazione di una data
    • Problema Si desidera verificare se una particolare data è valida
    • Soluzione Utilizzare la funzione PHP checkdate()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 47. Lavorare con le Stringhe Validazione di una data 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // verifica la data 31-Apr-2006 echo checkdate (4,31,2006) ? &quot;data valida&quot; : &quot;data non valida&quot;; ?>
  • 48. 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; Lavorare con il filesystem
  • 49. Lavorare con il filesystem Lettura di file
    • Problema Si desidera leggere il contenuto di un file locale o remoto in una stringa o in un array
    • Soluzione Utilizzare la funzione file_get_contents() o file()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 50. 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // imposta il dome del file $file = &quot;http://localhost/corso/file/dummy.txt&quot;; // legge i contenuti del file in un array $dataArr = file ($file); print_r ($dataArr); // legge i contenuti del file in una stringa $dataStr = file_get_contents ($file); echo $dataStr ; ?> Lavorare con il filesystem Lettura di file
  • 51. Lavorare con il filesystem Scrittura di file
    • Problema Si desidera scrivere una stringa in un file
    • Soluzione Utilizzare la funzione file_put_contents()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 52. 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo la stringa da scrivere $data = &quot;Questo è ciò che voglio scrivere. E questa è la seconda riga! &quot;; $filename= ' C:/xampp/htdocs/corso/file/shakespeare.txt '; // scriviamo la stringa nel file // se la vogliamo aggiungere usiamo il parametro FILE_APPEND come terzo argomento file_put_contents ($filename, $data) or die(&quot; Non posso scrivere nel file &quot;); echo &quot; File scritto con successo. &quot;; ?> Lavorare con il filesystem Scrittura di file
  • 53. Lavorare con il filesystem Elaborazione di directory
    • Problema Si desidera elaborare in modo iterativo tutti i file in una directory
    • Soluzione Utilizzare la funzione scandir(), is_file()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;
  • 54. Lavorare con il filesystem Elaborazione di directory 06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot; <?php // definiamo il path della directory $dir = ' /windows '; // mettiamo in un array il contenuto della directory $fileList = scandir ($dir) or die ( &quot;Non è una directory&quot; ); // stampiamo i nomi dei file e la loro dimensione foreach ($fileList as $file ) { if ( is_file (&quot;$dir/$file&quot; ) && $file != '.' && $file != '..') { echo &quot;$file: &quot; . filesize (&quot;$dir/$file&quot;) . &quot; &quot;; } } ?>
  • 55. Lavorare con il filesystem Elaborazione ricorsiva di directory
    • Problema Si desidera elaborare tutti i file in una directory e delle sue sottodirectory
    • Soluzione Scrivere una funzione ricorsiva per elaborare la directory e le sue sottodirectory. Utilizzare le funzioni is_dir(), opendir(), readdir(), closedir()
    06/06/09 UNIVERSITA' DEGLI STUDI DI PALERMO - CORSO &quot;PROGRAMMATORI WEB&quot;