PHP tutorials

imparare il linguaggio PHP – esempi e guide
bellissimi templates per siti web

Scrittura e lettura file con PHP

Scritto in agosto 6th .

La funzione fopen() viene utilizzata per aprire i file utilizzando il PHP.
Il primo parametro di questa funzione contiene il nome del file da aprire e il secondo parametro indica in quale modalità il file deve essere aperto:

<html>
<body>

<?php
$file=fopen("benvenuto.txt","r");
?>

</body>
</html>

Il file può essere aperto in uno dei seguenti modi:

Modalità Descrizione
r Solo lettura. Comincia all’inizio del file
r+ Lettura/Scrittura. Comincia all’inizio del file
w Solo Scrittura. Apre e cancella il contenuto del file, oppure crea un nuovo file se esso non esiste
w+ Lettura/Scrittura. Apre e nasconde il contenuto del file, oppure crea un nuovo file se esso non esiste
a Aggiungere. Apre e scrive alla fine del file o crea un nuovo file se esso non esiste
a+ Lettura / Aggiungere. Conserve contenuto di un file per iscritto al fine del file
x Solo Scrittura. Crea un nuovo file. Restituisce FALSE e un errore se il file esiste già
x+ Lettura/Scrittura. Crea un nuovo file. Restituisce FALSE e un errore se il file esiste già

Nota: Se fopen () non è in grado di aprire il file specificato, restituisce 0 (falso).
Esempio
Il seguente esempio genera un messaggio se la fopen () non è in grado di aprire il file specificato:

<html>
<body> 

<? php
$ File = fopen ("benvenuto.txt", "r") or exit ("Impossibile aprire il file!");
?> 

</ Body>
</ Html>

La chiusura di un file

La funzione fclose() viene utilizzata per chiudere un file aperto:

<? Php
$ File = fopen ("benvenuto.txt", "r"); 

/ / Codice da eseguire 

fclose ($ file);
?>

Controllo fine file

La funzione feof () controlla se è stata ragguinta la fine del file (EOF).
La funzione feof () è utile per cicli attraverso dati di lunghezza sconosciuta.
Nota: non è possibile leggere da file aperti in w, a, e la modalità di x!

if (feof ($ file)) echo "Fine del file";

Lettura di un file riga per riga

La funzione fgets () viene utilizzata per leggere una sola riga da un file.
Nota: Dopo una chiamata a questa funzione il puntatore del file si è spostato alla riga successiva.
Esempio
L’esempio quì sotto legge un file riga per riga, fino alla fine del file:

<?php
$file = fopen("benvenuto.txt", "r") or exit("Impossibile aprire il file!");
//Fino a che ha raggiunto la fine fai un output della riga
while(!feof($file))
  {
  echo fgets($file). "<br />";
  }
fclose($file);
?>

Leggere un file di carattere in carattere

La funzione fgetc () viene utilizzata per leggere un singolo carattere da un file.
Nota: Dopo una chiamata a questa funzione il puntatore del file si sposta al carattere successivo
Esempio
L’esempio che si legge di seguito legge un file di carattere in carattere, fino alla fine del file:

<?php
$file=fopen("benvenuto.txt","r") or exit("Impossibile aprire il file!");
while (!feof($file))
  {
  echo fgetc($file);
  }
fclose($file);
?>

Funzione include di PHP

Scritto in agosto 4th .

È possibile inserire il contenuto di un file PHP in un altro file PHP prima che il server esegua il primo file php con la funzione include() o require().
Le due funzioni sono identiche in tutto, tranne nel modo in cui gestire gli errori:

  • include () genera un avviso, ma lo script continua l’esecuzione
  • require () genera una errore fatale, e lo script si ferma

Queste due funzioni sono utilizzate per creare funzioni, intestazioni, piè di pagina o elementi che verranno riutilizzati per più pagine.
La funzione include fa risparmiare un sacco di lavoro.
Questo significa che è possibile creare una header standard, piè di pagina o menu per tutte le nostre pagine web.
Quando ad esempio l’header deve essere aggiornata, è possibile solo aggiornare il file di inclusione, o quando si aggiunge una nuova pagina al tuo sito, è sufficiente modificare il file di menu (invece di aggiornare i collegamenti in tutte le pagine web).

Include

La funzione include() prende tutto il contenuto in un file specificato e lo include nel file corrente.
Se si verifica un errore, la funzione include () genera un avviso, ma lo script continuerà l’esecuzione.

Esempio 1
Supponiamo di avere un file di intestazione standard, chiamato “header.php”.
Per includere il file header in una pagina, utilizziamo la funzione include ():

<html>
<body>

<?php include("header.php"); ?>
<h1>Benvenuti nella mia home page!</h1>
<p>Contenuto della pagina.</p>

</body>
</html>

Esempio 2
Supponiamo di avere un file di menu standard, chiamato “menu.php”, che dovrebbe essere utilizzato su tutte le pagine:

<a href="/default.php">Home</a>
<a href="/tutorials.php">Tutorials</a>
<a href="/giochi.php">Giochi</a>
<a href="/esempi.php">Esempi</a>
<a href="/chisono.php">Chi Sono</a>
<a href="/contatti.php">Contatti</a>

Tutte le pagine del sito Web devono includere il file di menu.
Ecco come si può fare:

<html>
<body>

<div class="leftmenu">
<?php include("menu.php"); ?>
</div>

<h1>Benvenuti nella mia home page.</h1>
<p>Contenuto della pagina.</p>

</body>
</html>

Se si guarda il codice sorgente della pagina di cui sopra (in un browser), sarà simile a questo:

<html>
<body>

<div class="leftmenu">
<a href="/default.php">Home</a>
<a href="/tutorials.php">Tutorials</a>
<a href="/giochi.php">Giochi</a>
<a href="/esempi.php">Esempi</a>
<a href="/chisono.php">Chi Sono</a>
<a href="/contatti.php">Contatti</a>
</div>

<h1>Benvenuti nella mia home page!</h1>
<p>Contenuto della pagina</p>

</body>
</html>

Require

La funzione require () è identica a include (), tranne che gestisce gli errori in modo diverso.
Se si verifica un errore, la funzione include () genera un avviso, ma lo script continuerà l’esecuzione.

Esempio errore funzione include

<html>
<body>

<?php
include("fileSbagliato.php");
echo "Ciao Mondo!";
?>

</body>
</html>

Il messaggio di errore sarà dunque il seguente:

Warning: include(fileSbagliato.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Warning: include() [function.include]:
Failed opening 'fileSbagliato.php' for inclusion
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5

Ciao Mondo!

Da notare che l’istruzione echo viene eseguita!
Questo perché un allarme non ferma l’esecuzione dello script.

Esempio errore funzione require

Ora, proviamo ad eseguire lo stesso esempio con la funzione require().

<html>
<body>

<?php
require("fileSbagliato.php");
echo "Ciao Mondo!";
?>

</body>
</html>

Messaggio di errore:

Warning: require(fileSbagliato.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Fatal error: require() [function.require]:
Failed opening required 'fileSbagliato.php'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5

Da notare che l’istruzione echo non viene eseguita, perché l’esecuzione dello script viene arrestata dopo l’errore fatale.
Si raccomanda di utilizzare il require() invece di include (), perché gli script non dovrebbero continuare ad eseguire anche dopo un errore.

Funzione date di PHP

Scritto in agosto 2nd .

La funzione date() di PHP viene utilizzata per formattare un tempo e / o la data.
Una timestamp è una sequenza di caratteri, che denota la data e / o l’ora in cui un certo evento si è verificato.

date(format,timestamp)

Parametri:

  • format: Obbligatorio. Specifica il formato del timestamp
  • timestamp: Opzionale. Specifica una timestamp. Data ed ora sono predefinite

Formattare la data

Il parametro format richiesto della funzione Date () specifica come formattare la data / ora.

Qui ci sono alcuni caratteri che possono essere utilizzati:

d – Rappresenta il giorno del mese (01-31)
m – Rappresenta un mese (01-12)
Y – Rappresenta un anno (a quattro cifre)
Un elenco di tutti i caratteri che possono essere utilizzati nel parametro di formato, si possono trovare nella reference ufficiale.
Altri caratteri, come “/”, “.”, o “-” possono essere inseriti tra le lettere per aggiungere formattazioni aggiuntive:

<?php
echo date("Y/m/d") . "<br />";
echo date("Y.m.d") . "<br />";
echo date("Y-m-d")
?>

L’output del codice di cui sopra potrebbe essere qualcosa del tipo:

2009/05/11
2009.05.11
2009-05-11

Aggiungere una timestamp

Il parametro opzionale timestamp della funzione Date () specifica una timestamp.
Se non si specifica una timestamp saranno utilizzati la data e l’ora.
Il metodo mktime () restituisce la timestamp Unix per una data.
Il timestamp Unix contiene il numero di secondi tra la Unix Epoch (Gennaio 1 1970 00:00:00 GMT) e il tempo specificato.

mktime(hour,minute,second,month,day,year,is_dst)

Per andare un giorno nel futuro dovremmo semplicemente aggiungere uno all’argomento giorno di mktime ():

<?php
$domani = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "Domani è ".date("Y/m/d", $domani);
?>

L’output del codice di cui sopra potrebbe essere qualcosa del tipo:

Domani è 2010/08/03

Funzione $_POST

Scritto in aprile 8th .

La funzione built-in $ _POST viene utilizzata per raccogliere i valori da un modulo inviati con method POST.
Le informazioni inviate da un form con il metodo POST sono invisibili agli altri e non ha limiti sulla quantità di informazioni da inviare.
Nota: Tuttavia, vi è un 8 Mb di dimensione massima per il metodo POST, di default (può essere modificato impostando la post_max_size nel file php.ini).
Esempio:

<form action="benvenuto.php" method="post">
Nome: <input type="text" name="nome" />
Anni: <input type="text" name="anni" />
<input type="submit" />
</form>

Quando l’utente fa clic sul pulsante “Invia”, l’URL sarà simile a questa:

http://www.flepstudio.com/benvenuto.php

Il file benvenuto.php può ora utilizzare la funzione $ _POST per raccogliere i dati del modulo (i nomi dei campi del modulo saranno automaticamente le chiavi del vettore $ _POST):

Benvenuto <?php echo $_POST["nome"]; ?>!<br />
Tu hai <?php echo $_POST["anni"]; ?> anni.

Quando utilizzare il metodo POST

Le informazioni inviate da un form con il metodo POST sono invisibili agli altri e non ha limiti sulla quantità di informazioni da inviare.
Tuttavia, poiché le variabili non sono visualizzati nella URL, non è possibile creare un segnalibro alla pagina.

La funzione $_REQUEST

La funzione built-in $_REQUEST contiene i contenuti di entrambi i $_GET, $_POST e $_COOKIE.
La funzione di _REQUEST può essere utilizzata per raccogliere dati di moduli inviati con entrambi i metodi GET e POST.
Esempio:

Benvenuto <?php echo $_REQUEST["nome"]; ?>!<br />
Tu hai <?php echo $_REQUEST["anni"]; ?> anni.

Funzione $_GET

Scritto in aprile 7th .

La funzione built-in $ _GET viene utilizzata per raccogliere i valori da un modulo inviato con metodo = “get”.
Le informazioni inviate da un form con il metodo GET sono visibili a tutti (verranno visualizzate nella barra degli indirizzi del browser) e ha dei limiti sulla quantità di informazioni da inviare (massimo 100 caratteri).
Esempio:

<form action="benvenuto.php" method="get">
nome: <input type="text" name="nome" />
Anni: <input type="text" name="anni" />
<input type="submit" />
</form>

Quando l’utente fa clic sul pulsante “Invia”, l’URL inviato al server potrebbe somigliare a questo:

http://www.flepstudio.com/benvenuto.php?nome=Filippo&anni=37

Il file “benvenuto.php” può ora utilizzare la funzione $ _GET per raccogliere i dati del modulo (i nomi dei campi del modulo saranno automaticamente le chiavi dell’array $ _GET):

Benvenuto <?php echo $_GET["nome"]; ?>.<br />
Tu hai <?php echo $_GET["anni"]; ?> anni!

Quando utilizzare il metodo GET?
Quando si utilizza il metodo GET in forme HTML, tutti i nomi di variabili e valori sono visualizzati nella URL.
Nota: questo metodo non deve essere utilizzato per l’invio di password o altre informazioni sensibili!
Tuttavia, poiché le variabili sono visualizzati nella URL, è possibile creare un segnalibro alla pagina.
Questo può essere utile in alcuni casi.
Nota: Il metodo GET non è adatto per i valori delle variabili di grandi dimensioni, il valore non può superare i 100 caratteri.