diff --git a/appendices/ini.core.xml b/appendices/ini.core.xml
index bfe6b7291..f4187fc2a 100644
--- a/appendices/ini.core.xml
+++ b/appendices/ini.core.xml
@@ -1,5 +1,5 @@
-
+
Descrizione dei parametri core di &php.ini;
@@ -116,6 +116,12 @@
INI_ALL con restrizioni
+
+ zend.exception_string_param_max_len
+ "15"
+ INI_ALL
+ Disponibile a partire da PHP 8.0.0.
+
@@ -196,19 +202,23 @@
string
-
- Questa direttiva permette di disabilitare alcune funzioni. Riceve
- una lista di nomi di funzione separati da virgole.
-
-
+
+ Questa direttiva permette di disabilitare alcune funzioni.
+ Riceve una lista di nomi di funzione separati da virgole.
+ A partire da PHP 8.0.0, disabilitare una funzione ne rimuove la definizione
+ consentendo allo spazio utente di ridefinirla.
+ Prima di PHP 8.0.0, disabilitare una funzione impediva semplicemente di invocare la funzione.
+
+
Solo le funzioni interne possono
- essere disattivate usando questa direttiva. Le funzioni definite dall'utente
+ essere disattivate usando questa direttiva.
+ Le funzioni definite dall'utente
non sono interessate.
-
-
- Questa direttiva deve essere impostata in &php.ini; pertanto non
- può essere usata in &httpd.conf;.
-
+
+
+ Questa direttiva deve essere impostata in &php.ini;.
+ Può essere impostata in &httpd.conf;.
+
@@ -218,13 +228,18 @@
string
+
+ Questa direttiva permette di disabilitare alcune classi.
+ Riceve una lista di nomi di classi separati da virgole.
+ Disabilitare una classe impedisce semplicemente di istanziarla.
+
+
+ Solo le classi interne possono essere disabilitate usando questa direttiva.
+ Le classi definite dall'utente non sono interessate.
+
- Questa direttiva permette di disabilitare alcune classi. Riceve
- una lista di nomi di classi separati da virgole.
-
-
- Questa direttiva deve essere impostata in &php.ini; pertanto non
- può essere usata in &httpd.conf;.
+ Questa direttiva deve essere impostata in &php.ini;.
+ Può essere impostata in &httpd.conf;.
@@ -255,6 +270,19 @@
+
+
+ zend.exception_string_param_max_len
+ int
+
+
+
+ La lunghezza massima degli argomenti delle funzioni stringa nelle stack trace in formato stringa.
+ Deve essere compresa tra "0" e "1000000".
+
+
+
+
hard_timeout
@@ -262,6 +290,19 @@
+ Quando il timeout impostato in max_execution_time
+ è stato raggiunto, il runtime di PHP rilascerà le risorse in modo ordinato. Se
+ qualcosa si blocca mentre ciò accade, il timeout rigido verrà conteggiato
+ per il numero di secondi impostato. Quando il timeout rigido viene raggiunto, PHP
+ terminerà in modo anomalo. Se impostato su 0, il timeout rigido non verrà mai attivato.
+
+
+ Quando PHP si interrompe a causa di un timeout rigido, apparirà qualcosa del genere:
+
+
+
@@ -309,7 +350,7 @@
con ISO-8859-1, devono essere usati sia zend.multibyte che zend.script_encoding.
- Le stringhe letterali verrano traslitterate da zend.script_enconding a
+ Le stringhe letterali verrano traslitterate da zend.script_encoding a
mbstring.internal_encoding, come se
fosse stata chiamata mb_convert_encoding.
@@ -551,7 +592,7 @@
enable_post_data_reading"1"INI_PERDIR
- Disponibile da PHP 5.4.0
+ post_max_size
@@ -962,12 +1003,6 @@
-
- Vedere anche: magic_quotes_gpc,
- magic_quotes_runtime
- e
- magic_quotes_sybase.
-
@@ -1186,9 +1221,7 @@ include_path = ".:${USER}/pear/php"
Limita i file che possono essere acceduti da PHP ad uno specifico
- albero di cartelle, contenenti il file stesso. Questo parametro
- NON È modificato dallo stato del Safe Mode
- (On o Off).
+ albero di cartelle, contenenti il file stesso.
Quando uno script tenta di accedere al filesystem, per esempio,
@@ -1232,7 +1265,7 @@ include_path = ".:${USER}/pear/php"
L'impostazione di default è quella di permettere l'apertura di tutti i file.
-
+
open_basedir può essere ristretto a run-time. Ciò significa
che se open_basedir è impostato a /www/ in &php.ini;
uno script può ulteriormente restringere la configurazione a
@@ -1240,7 +1273,12 @@ include_path = ".:${USER}/pear/php"
ini_set. Quando si elencano più cartelle, si
può usare la costante PATH_SEPARATOR come separatore
indipendentemente dal sistema operativo.
-
+
+
+ A partire da PHP 8.3.0, non accetta più
+ percorsi contenenti la directory padre (..) quando
+ impostato durante l'esecuzione utilizzando ini_set.
+
@@ -1248,6 +1286,12 @@ include_path = ".:${USER}/pear/php"
a 0 e quindi disabiliterà la cache di realpath.
+
+
+ open_basedir è solo una rete di sicurezza aggiuntiva, che non è in alcun modo
+ completa e quindi non può essere considerata affidabile quando è richiesta sicurezza.
+
+
@@ -1312,8 +1356,8 @@ include_path = ".:${USER}/pear/php"
- Directory in cui il PHP cerca i moduli caricabili
- dinamicamente. Vedere anche: enable_dl,
+ Directory in cui PHP cerca i moduli caricabili
+ dinamicamente. Si consiglia di specificare un percorso assoluto. Vedere anche: enable_dl,
e dl.
@@ -1455,15 +1499,15 @@ include_path = ".:${USER}/pear/php"
cgi.rfc2616_headers
- int
+ bool
Indica al PHP quale tipo di intestazione utilizzare quando si inviano risposte HTTP.
- Se impostato a 0, il PHP invia un'intestazione RFC 3875
+ Se è disabilitato, PHP invia un'intestazione RFC 3875
"Status:", che è supportata da Apache ed altri server web. Quando il parametro
- è impostato a 1, il PHP invia una intestazione conforme alle specifiche indicate in RFC 2616
- .
+ è abilitato, PHP invia una intestazione conforme alle specifiche indicate in
+ RFC 2616.
Se questa opzione è abilitata, e si sta eseguendo PHP in un ambiente CGI (es. PHP-FPM)
@@ -1472,7 +1516,7 @@ include_path = ".:${USER}/pear/php"
si deve usare header("Status: 404 Not Found");
- Lasciare il parametro a 0 a meno che non si sappia cosa si sta facendo.
+ Lasciare il parametro disabilitato a meno che non si sappia cosa si stia facendo.
@@ -1480,7 +1524,7 @@ include_path = ".:${USER}/pear/php"
fastcgi.impersonate
- string
+ bool
@@ -1488,7 +1532,7 @@ include_path = ".:${USER}/pear/php"
il contesto di sicurezza del client chiamante. Questo permette a IIS di definire
un contesto di sicurezza in cui fare girare la richiesta. Attualmente mod_fastcgi di Apache
non supporta questa caratteristica (17/03/2002).
- Impostare a 1 se si utilizza IIS. Il default è zero.
+ Abilitarlo se si utilizza IIS. Il valore predefinito è disabilitato.
@@ -1558,7 +1602,7 @@ include_path = ".:${USER}/pear/php"
max_file_uploads20
- INI_SYSTEM
+ INI_PERDIR
@@ -1616,6 +1660,9 @@ include_path = ".:${USER}/pear/php"
La dimensione massima di un file inviato.
+
+ post_max_size deve essere maggiore di questo valore.
+
&ini.shorthandbytes;
@@ -1630,7 +1677,7 @@ include_path = ".:${USER}/pear/php"
Il numero massimo di file che si possono caricare in upload simultaneamente.
- A partire da PHP 5.3.4, i campi upload lasciati vuoti durante l'invio non
+ I campi upload lasciati vuoti durante l'invio non
sono presi in conto da questo limite.
@@ -1758,4 +1805,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
+-->
\ No newline at end of file
diff --git a/language-snippets.ent b/language-snippets.ent
index 63f9d234d..5c507fca4 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -238,12 +238,6 @@ condividono i medesimi simboli interni. Nota: Yaz 2.0 e successivi non ha questo
sezione sulla sicurezza CGI per capire come
difendersi da quest attacchi.'>
-note per il parametro: magic_quotes_gpc
-Il parametro magic_quotes_gpc
-è impostato per default a on. Essenzialmente
-esegue addslashes su tutti i dati provenienti tramite GET, POST, e COOKIE.
-Si può utilizzare stripslashes per rimuoverli.'>
-
la versione per Windows
di PHP antecedente la 4.3.0 non supporta l'accesso remoto
ai file da parte di questa funzione, anche se allow_url_fopen è abilitato.
diff --git a/language/oop5.xml b/language/oop5.xml
index 07471db80..82f73e1c6 100644
--- a/language/oop5.xml
+++ b/language/oop5.xml
@@ -1,5 +1,5 @@
-
+
@@ -28,6 +28,7 @@
&language.oop5.basic;
&language.oop5.properties;
+ &language.oop5.property-hooks;
&language.oop5.constants;
&language.oop5.autoload;
&language.oop5.decon;
@@ -49,6 +50,7 @@
&language.oop5.references;
&language.oop5.serialization;
&language.oop5.variance;
+ &language.oop5.lazy-objects;
&language.oop5.changelog;
diff --git a/language/types.xml b/language/types.xml
index 8187f7ca2..36657402d 100644
--- a/language/types.xml
+++ b/language/types.xml
@@ -1,5 +1,5 @@
-
+
@@ -30,6 +30,8 @@
fase di esecuzione. Tuttavia, è possibile tipizzare staticamente alcuni aspetti del
linguaggio tramite l'uso delle
dichiarazioni dei tipi.
+ I diversi tipi supportati dal sistema di tipi di PHP possono essere trovati nella
+ pagina sistema di tipi.
@@ -131,7 +133,7 @@ int(16)
&language.types.void;
&language.types.never;
&language.types.relative-class-types;
- &language.types.value;
+ &language.types.singleton;
&language.types.iterable;
&language.types.declarations;
&language.types.type-juggling;
diff --git a/reference/bc/functions/bcadd.xml b/reference/bc/functions/bcadd.xml
index cf12273d7..630466de0 100644
--- a/reference/bc/functions/bcadd.xml
+++ b/reference/bc/functions/bcadd.xml
@@ -1,56 +1,136 @@
-
-
-
-
-
-
-
- bcadd
- Somma due numeri a precisione arbitraria
-
-
- Descrizione
-
- stringbcadd
- stringprimo operando
- stringsecondo operando
- intprecisione
-
-
- Somma il primo operando con il
- secondo operando e restituisce la somma sotto forma di
- stringa. Il parametro opzionale precisione è
- utilizzato per impostare il numero di cifre dopo il punto decimale nel
- risultato.
-
-
-
- &reftitle.examples;
-
- Esempio di bcadd
-
+
+
+
+
+
+ bcadd
+ Somma due numeri a precisione arbitraria
+
+
+
+ &reftitle.description;
+
+ stringbcadd
+ stringnum1
+ stringnum2
+ intnullscale&null;
+
+
+ Somma num1 e
+ num2.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ num1
+
+
+ L'operando di sinistra, come stringa.
+
+
+
+
+ num2
+
+
+ L'operando di destra, come stringa.
+
+
+
+
+ scale
+
+
+ Questo parametro viene utilizzato per impostare il numero di cifre dopo la virgola nel risultato.
+ Se è &null;, verrà utilizzato il valore predefinito impostato con bcscale,
+ o in alternativa il valore della
+ direttiva INI bcmath.scale.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ La somma dei due operandi, come stringa.
+
+
+
+
+ &reftitle.errors;
+
+ Questa funzione genera un'eccezione ValueError nei seguenti casi:
+
+
+ num1 o num2
+ non è una stringa numerica BCMath ben formata.
+
+
+ scale è al di fuori dell'intervallo valido.
+
+
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ scale ora può essere null.
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+ Esempio di bcadd
+
]]>
-
-
-
-
- &reftitle.seealso;
-
- bcsub.
-
-
-
-
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ bcsub
+ BcMath\Number::add
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/bc/functions/bcdiv.xml b/reference/bc/functions/bcdiv.xml
index 828068c3f..e18726ba0 100644
--- a/reference/bc/functions/bcdiv.xml
+++ b/reference/bc/functions/bcdiv.xml
@@ -1,51 +1,124 @@
-
-
-
-
-
-
-
- bcdiv
- Divide due numeri a precisione arbitraria
-
-
- Descrizione
-
- stringbcdiv
- stringprimo operando
- stringsecondo operando
- intprecisione
-
-
- Divide il primo operando per il
- secondo operando e restituisce il risultato. Il
- parametro opzionale precisione imposta il numero di cifre
- dopo il punto decimale nel risultato.
-
-
-
- &reftitle.examples;
-
- esempio di bcdiv
-
+
+
+
+
+
+ bcdiv
+ Divide due numeri a precisione arbitraria
+
+
+
+ &reftitle.description;
+
+ stringbcdiv
+ stringnum1
+ stringnum2
+ intnullscale&null;
+
+
+ Divide num1 per num2.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ num1
+
+
+ Il dividendo, come stringa.
+
+
+
+
+ num2
+
+
+ Il divisore, come stringa.
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce il risultato della divisione come stringa.
+
+
+
+
+
+
+
+ Questa funzione genera un'eccezione
+ DivisionByZeroError se num2 è 0.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ scale ora può essere null.
+
+
+
+ 8.0.0
+
+ Dividendo per 0 ora genera un'
+ eccezione DivisionByZeroError
+ invece di restituire &null;.
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+ Esempio di bcdiv
+
]]>
-
-
-
-
- &reftitle.seealso;
-
- bcmul.
-
-
-
-
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ bcdivmod
+ bcmod
+ bcmul
+ BcMath\Number::div
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/filesystem/functions/fgetcsv.xml b/reference/filesystem/functions/fgetcsv.xml
index 86266ca3a..accd11da4 100644
--- a/reference/filesystem/functions/fgetcsv.xml
+++ b/reference/filesystem/functions/fgetcsv.xml
@@ -1,124 +1,239 @@
-
-
+
+
-
-
-
- fgetcsv
- Prende una riga da un puntatore a file e l'analizza in cerca di campi CSV
-
-
- Descrizione
-
- arrayfgetcsv
- resourcehandle
- intlunghezza
- stringdelimitatore
- stringenclosure
-
+
+
+
+ fgetcsv
+ Prende una riga da un puntatore a file e l'analizza in cerca di campi CSV
+
+
+
+ &reftitle.description;
+
+ arrayfalsefgetcsv
+ resourcestream
+ intnulllength&null;
+ stringseparator","
+ stringenclosure"\""
+ stringescape"\\"
+
+
+ Simile a fgets eccetto per il fatto che
+ fgetcsv analizza le riga letta alla ricerca di campi
+ in formato CSV e restituisce un array contenente i campi
+ letti.
+
+
+
+ Le impostazioni locali vengono prese in considerazione da questa funzione.
+ Ad esempio, i dati codificati in determinati formati a byte singolo potrebbero essere analizzati
+ in modo errato se LC_CTYPE è impostato su
+ en_US.UTF-8.
+
+
+
-
-
-
- handle
-
-
- Un puntatore valido a un file che punta a un file aperto con successo da fopen,
- popen, o fsockopen.
-
-
-
-
- length (Opzionale)
-
-
- Deve essere più grande della linea più lunga (in caratteri) per essere trovato nel file CSV
- (permettendo di trascinare il carattere di fine linea). E' diventato opzionale in PHP 5.
-
-
-
-
- delimiter (Opzionale)
-
-
- Setta il delimitatore di campo (un solo carattere). Virgola per default.
-
-
-
-
- enclosure (Opzionale)
-
-
- Setta il carattere di inclusione nel campo (un solo carattere). Doppie virgolette per default. Aggiunto in PHP 4.3.0.
-
-
-
-
-
- Simile a fgets eccetto per il fatto che
- fgetcsv analizza le righe lette alla ricerca di campi
- in formato CSV e restituisce un vettore contenente
- i campi letti.
-
-
-
- Il parametro enclosure è stato aggiunto
- in PHP 4.3.0.
-
-
-
- Handle deve essere un puntatore valido ad un file
- correttamente aperto da fopen,
- popen o fsockopen.
-
-
- Lunghezza deve essere maggiore della linea
- più lunga trovata nel file CSV (compresi i caratteri di fine riga).
-
-
- fgetcsv restituisce &false; in caso d'errore e
- al raggiungimento della fine del file.
-
-
-
- Una riga vuota in un file CVS verrà riportata come un vettore
- contenente un solo campo vuoto (null) e non verrà trattata come un
- errore.
-
-
-
-
- Legge e scrive l'intero contenuto di un file CSV.
-
+
+ &reftitle.parameters;
+
+
+
+ stream
+
+
+ Un puntatore valido a un file che punta a un file aperto con successo da
+ fopen, popen o
+ fsockopen.
+
+
+
+
+ length
+
+
+ Deve essere più grande della riga più lunga (in caratteri) per essere trovato nel
+ file CSV (tenendo conto dei caratteri di fine riga). Altrimenti, la riga
+ viene suddivisa in blocchi di length caratteri,
+ a meno che la divisione non avvenga all'interno di una chiusura.
+
+
+ Se si omette questo parametro (o lo si imposta su 0,
+ o &null; in PHP 8.0.0 o versioni successive), la lunghezza massima della riga non è limitata,
+ ma è leggermente più lenta.
+
+
+
+
+ separator
+
+
+ Il parametro separator imposta il separatore di campo.
+ Deve essere un carattere a byte singolo.
+
+
+
+
+ enclosure
+
+
+ Il parametro enclosure imposta il carattere di chiusura del campo.
+ Deve essere un carattere a byte singolo.
+
+
+
+
+ escape
+
+
+ Il parametro escape imposta il carattere di escape.
+ Deve essere un carattere a byte singolo o la stringa vuota.
+ La stringa vuota ("") disabilita il meccanismo di escape proprietario.
+
+
+
+ Di solito, per effettuare l'escape di un carattere enclosure all'interno di
+ un campo lo si duplica; tuttavia, il carattere
+ escape può essere usato come alternativa. Pertanto, con i valori predefiniti del
+ parametro "" e \" hanno lo stesso
+ significato. Oltre a consentire di effettuare l'escape del
+ carattere enclosure, il
+ carattere escape non ha significato speciale; non è
+ nemmeno destinato ad effettuare l'escape di se stesso.
+
+
+
+
+ A partire da PHP 8.4.0, dipendere dal valore predefinito di
+ escape è deprecato.
+ Deve essere fornito esplicitamente, sia per posizione che mediante l'uso
+ dei named arguments.
+
+
+
+
+
+
+ &warning.csv.escape-parameter;
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un array indicizzato contenente i campi letti in caso di successo, &return.falseforfailure;.
+
+
+
+ Una riga vuota in un file CSV verrà restituita come un array
+ contenente un singolo campo null e non sarà trattata
+ come un errore.
+
+
+ ¬e.line-endings;
+
+
+
+ &reftitle.errors;
+
+ Genera un ValueError se
+ separator o enclosure
+ non sono lunghi un byte.
+
+
+ Genera un ValueError se
+ escape non è lungo un byte o è una stringa vuota.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.4.0
+
+ L'affidamento sul valore predefinito di escape è ora
+ deprecato.
+
+
+
+ 8.3.0
+
+ Viene restituita una stringa vuota invece di una stringa con un singolo
+ byte null per l'ultimo campo se contiene solo una chiusura
+ non terminata.
+
+
+
+ 8.0.0
+
+ length è ora nullable.
+
+
+
+ 7.4.0
+
+ Il parametro escape ora accetta anche una stringa
+ vuota per disabilitare il meccanismo di escape proprietario.
+
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Legge e stampa il contenuto di un file CSV
+
$num campi sulla linea $row:
\n";
+ $row++;
+ for ($c=0; $c < $num; $c++) {
+ echo $data[$c] . " \n";
+ }
}
+ fclose($handle);
}
-fclose($handle);
?>
]]>
-
-
-
-
- fgetcsv è diventata binary safe dal PHP 4.3.5
-
- ¬e.line-endings;
-
- Vedere anche explode, file,
- pack e fputcsv.
-
-
-
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ fputcsv
+ str_getcsv
+ SplFileObject::fgetcsv
+ SplFileObject::fputcsv
+ SplFileObject::setCsvControl
+ SplFileObject::getCsvControl
+ explode
+ file
+ pack
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/filesystem/functions/fwrite.xml b/reference/filesystem/functions/fwrite.xml
index d8bdb5eb9..ebfdb16e9 100644
--- a/reference/filesystem/functions/fwrite.xml
+++ b/reference/filesystem/functions/fwrite.xml
@@ -1,94 +1,215 @@
-
-
-
-
-
-
- fwrite
- Scrive un file salvaguardando la corrispondenza binaria
-
-
- Descrizione
-
- intfwrite
- resourcehandle
- stringstring
- intlength
-
-
- fwrite scrive il contenuto di
- string nel flusso del file puntato da
- handle. Se l'argomento length
- è specificato la scrittura si arresterà dopo aver scritto
- length byte o alla fine di
- string se si verificasse
- prima.
-
-
- fwrite returns the number of bytes
- written, or &false; on error.
-
-
- Nota che se il parametro length viene specificato,
- allora l'opzione di configurazione magic_quotes_runtime
- verrà ignorata e nessuno slash verrà
- skippato da string.
-
-
-
- Su sistemi che differenzino fra file binari e di testo
- (come Windows) il file deve essere aperto includendo 'b' nel paramentro mode di
- fopen.
-
-
-
-
- Un semplice esempio di fwrite
-
+
+
+
+
+
+ fwrite
+ Scrittura su file binary-safe
+
+
+
+ &reftitle.description;
+
+ intfalsefwrite
+ resourcestream
+ stringdata
+ intnulllength&null;
+
+
+ fwrite scrive il contenuto di
+ data nello stream del file puntato da
+ stream.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ stream
+
+ &fs.file.pointer;
+
+
+
+ data
+
+
+ La stringa che deve essere scritta.
+
+
+
+
+ length
+
+
+ Se l'argomento length è un &integer;, la scrittura si arresterà
+ dopo aver scritto length byte o alla
+ fine di data a seconda di quale dei due eventi si verifica prima.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ fwrite restituisce il numero di byte
+ scritti, &return.falseforfailure;.
+
+
+
+
+ &reftitle.errors;
+
+ fwrite genera un E_WARNING in caso di errore.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ Ora length è nullable.
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Un esempio semplice di fwrite
+
+]]>
+
+
+
+
+
+
+ &reftitle.notes;
+
+
+ Scrivere su uno stream di rete potrebbe terminare prima che l'intera stringa sia scritta.
+ Il valore restituito da fwrite potrebbe essere verificato:
+
+
]]>
-
-
-
-
- Vedere anche fread,
- fopen,
- fsockopen,
- popen e
- file_put_contents.
-
-
-
+
+
+
+
+
+
+ Su sistemi che differenziano tra file binari e di testo
+ (ad esempio Windows), il file deve essere aperto con 'b' incluso nel
+ parametro di modalità di fopen.
+
+
+
+
+ Se stream è stato aperto in modalità append tramite fopen,
+ le scritture con fwrite sono atomiche (a meno che la dimensione di
+ data non superi la dimensione del blocco del filesystem, su alcune
+ piattaforme, e purché il file sia su un filesystem locale). Cioè,
+ non c'è bisogno di usare flock prima di chiamare
+ fwrite; tutti i dati saranno scritti senza
+ interruzione.
+
+
+
+
+ Se si scrive due volte sul puntatore del file, i dati verranno aggiunti
+ alla fine del contenuto del file:
+
+
+]]>
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ fread
+ fopen
+ fsockopen
+ popen
+ file_get_contents
+ pack
+
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/gmp/functions/gmp-init.xml b/reference/gmp/functions/gmp-init.xml
index b3cdee431..4a2618018 100644
--- a/reference/gmp/functions/gmp-init.xml
+++ b/reference/gmp/functions/gmp-init.xml
@@ -1,51 +1,139 @@
-
-
-
-
-
-
-
- gmp_init
- Crea un numero GMP
-
-
- Descrizione
-
- resourcegmp_init
- mixednumber
-
-
- Crea un numero GMP partendo da un intero o da una stringa.
- La stringa può essere decimale o esadecimale. Nell'ultimo caso,
- la stringa dovrebbe iniziare con 0x.
-
-
-
- Creare un numero GMP
-
+
+
+
+
+
+ gmp_init
+ Crea un numero GMP
+
+
+
+ &reftitle.description;
+
+ GMPgmp_init
+ intstringnum
+ intbase0
+
+
+ Crea un numero GMP partendo da un intero o da una stringa.
+
+
+
+
+ &reftitle.parameters;
+
+
+ num
+
+
+ Un intero o una stringa. La rappresentazione della stringa può essere
+ decimale, esadecimale, ottale o binaria.
+
+
+
+
+ base
+
+
+ La base da usare per convertire una rappresentazione string.
+
+
+ Una base esplicita può essere compresa tra 2 e 62.
+ Per le basi fino a 36, la differenza tra maiuscole e minuscole viene ignorata;
+ lettere maiuscole e minuscole hanno lo stesso valore.
+ Per le basi da 37 a 62,
+ le lettere maiuscole rappresentano i valori da 10 a
+ 35 e le lettere minuscole rappresentano i valori
+ da 36 a 61.
+
+
+ Se base è 0, la base effettiva
+ viene determinata dai caratteri iniziali di num.
+ Se i primi due caratteri sono 0x o 0X,
+ la stringa viene interpretata come un intero esadecimale.
+ Se i primi due caratteri sono 0b o 0B,
+ la stringa viene interpretata come un intero binario.
+ Se i primi due caratteri sono 0o o 0o,
+ la stringa viene interpretata come un intero ottale.
+ Inoltre, se il primo carattere è 0, la stringa
+ viene interpretata anche come un intero ottale.
+ In tutti gli altri casi, la stringa viene interpretata come un intero decimale.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &gmp.return;
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.1.0
+
+ È stato aggiunto il supporto per i prefissi ottali espliciti 0o
+ e 0o per le stringhe num.
+ È stato anche aggiunto il supporto per l'interpretazione di tali prefissi
+ quando base è 0.
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Creazione di un numero GMP
+
]]>
-
-
-
+
+
+
+
-
-
- Non è necessario chiamare uesta funzione se si vogliono usare
- interi o stringhe al posto di numeri GMP nelle funzioni GMP, come
- gmp_add. Se se questa conversione è possibile
- e necessaria, gli argomenti delle funzioni vengono automaticamente
- convertiti in numeri GMP, usando le stesse regole di
- gmp_init.
-
-
-
-
+
+ &reftitle.notes;
+
+
+ Non è necessario chiamare questa funzione per usare interi o
+ stringhe al posto dei numeri GMP nelle funzioni GMP (come con
+ gmp_add). Gli argomenti della funzione vengono automaticamente
+ convertiti in numeri GMP, se tale conversione è possibile e necessaria, usando
+ le stesse regole di gmp_init.
+
+
+
+
+ &reftitle.seealso;
+
+ GMP::__construct
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/info/functions/get-magic-quotes-runtime.xml b/reference/info/functions/get-magic-quotes-runtime.xml
index 4cad776c9..ce02b7e23 100644
--- a/reference/info/functions/get-magic-quotes-runtime.xml
+++ b/reference/info/functions/get-magic-quotes-runtime.xml
@@ -1,31 +1,73 @@
-
-
-
-
-
- get_magic_quotes_runtime
-
- Restituisce l'impostazione corrente della direttiva
- magic_quotes_runtime
-
-
-
- Descrizione
-
- intget_magic_quotes_runtime
-
-
-
- Restituisce l'impostazione corrente della direttiva magic_quotes_runtime
- (0 per off, 1 per on).
-
-
- Vedere anche get_magic_quotes_gpc e
- set_magic_quotes_runtime.
-
-
-
+
+
+
+
+
+ get_magic_quotes_runtime
+ Ottiene l'impostazione di configurazione attiva corrente di magic_quotes_runtime
+
+
+
+ &warn.deprecated.function-7-4-0.removed-8-0-0;
+
+
+
+ &reftitle.description;
+
+ falseget_magic_quotes_runtime
+
+
+
+ Restituisce sempre &false;.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce sempre &false;.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 7.4.0
+
+ Questa funzione è stata deprecata.
+
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ get_magic_quotes_gpc
+
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/info/functions/set-magic-quotes-runtime.xml b/reference/info/functions/set-magic-quotes-runtime.xml
deleted file mode 100644
index 08348d6f7..000000000
--- a/reference/info/functions/set-magic-quotes-runtime.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
- set_magic_quotes_runtime
-
- Imposta il valore attuale di
- magic_quotes_runtime
-
-
-
- Descrizione
-
- boolset_magic_quotes_runtime
- intnew_setting
-
-
- Imposta il valore del parametro di configurazione magic_quotes_runtime (0
- per off, 1 per on).
-
-
- Vedere anche get_magic_quotes_gpc e
- get_magic_quotes_runtime.
-
-
-
-
-
diff --git a/reference/info/ini.xml b/reference/info/ini.xml
index c83ba51cc..215fb811a 100644
--- a/reference/info/ini.xml
+++ b/reference/info/ini.xml
@@ -1,5 +1,5 @@
-
+
&reftitle.runtime;
@@ -21,37 +21,48 @@
assert.active"1"INI_ALL
-
+
+ Deprecato a partire da PHP 8.3.0
+ assert.bail"0"INI_ALL
-
+
+ Deprecato a partire da PHP 8.3.0
+ assert.warning"1"INI_ALL
-
+
+ Deprecato a partire da PHP 8.3.0
+ assert.callbackNULLINI_ALL
-
+
+ Deprecato a partire da PHP 8.3.0
+ assert.quiet_eval"0"INI_ALL
-
+ Rimosso a partire da PHP 8.0.0.assert.exception
- "0"
+ "1"INI_ALL
- Disponibile da PHP 7.0.0.
+
+ Prima di PHP 8.0.0, il valore predefinito è "0".
+ Deprecato a partire da PHP 8.3.0
+ enable_dl
@@ -75,31 +86,37 @@
max_input_nesting_level"64"INI_PERDIR
- Disponibile da PHP 5.2.3.
+ max_input_vars1000INI_PERDIR
- Disponibile da PHP 5.3.9.
+
- magic_quotes_gpc
+ zend.enable_gc"1"
- INI_PERDIR
- Rimosso in PHP 5.4.0.
+ INI_ALL
+
- magic_quotes_runtime
+ zend.max_allowed_stack_size"0"
- INI_ALL
- Rimosso in PHP 5.4.0.
+ INI_SYSTEM
+ Disponibile da PHP 8.3.0.
- zend.enable_gc
- "1"
+ zend.reserved_stack_size
+ "0"
+ INI_SYSTEM
+ Disponibile da PHP 8.3.0.
+
+
+ fiber.stack_size
+ INI_ALL
- Disponibile da PHP 5.3.0.
+ Disponibile da PHP 8.1.0.
@@ -119,7 +136,10 @@
Abilita l'analisi degli assert.
+ Dovrebbe essere invece utilizzato zend.assertions
+ per controllare il comportamento di assert.
+ &warn.deprecated.feature-8-3-0;
@@ -132,6 +152,7 @@
Termina uno script a fronte di un assert fallito.
+ &warn.deprecated.feature-8-3-0;
@@ -144,6 +165,7 @@
Invia un PHP warning per ogni asserzione fallita.
+ &warn.deprecated.feature-8-3-0;
@@ -156,6 +178,7 @@
Funzione utente da richiamare a fronte di un assert fallito.
+ &warn.deprecated.feature-8-3-0;
@@ -165,6 +188,7 @@
bool
+ &warn.feature.removed-8-0-0;
Utilizzare questo parametro di error_reporting durante
l'analisi dei un'asserzione. Se è abilitato, non sono visualizzati gli errori
@@ -184,6 +208,7 @@
Emette un'eccezione AssertionError per l'assert
fallito.
+ &warn.deprecated.feature-8-3-0;
@@ -194,10 +219,9 @@
- Questa direttiva è utile soltanto nella versione di PHP
- attiva come modulo di Apache. Essa permette di caricare in modo dinamico
+ Questa direttiva permette di caricare in modo dinamico
le estensioni di PHP potendo impostare dl
- on oppure off in base al server virtuale o per directory.
+ on oppure off.
La ragione principale per disabilitare il caricamento dinamico dei moduli
@@ -223,7 +247,7 @@
comando l'impostazione predefinita è 0.
- Il tempo massimo di esecuzione non è condizionato dalle chiamate di sistema,
+ Su sistemi non Windows, il tempo massimo di esecuzione non è condizionato dalle chiamate di sistema,
dalle operazioni sugli stream, eccetera. Vedere la funzione
set_time_limit per maggiori
dettagli.
@@ -287,103 +311,122 @@
-
+
- magic_quotes_gpc
+ zend.enable_gcbool
-
- &warn.deprecated.feature-5-3-0.removed-5-4-0;
+
- Imposta il parametro magic_quote per GPC (Get/Post/Cookie).
- Quando magic_quote è impostato a on, tutti i ' (apici singoli),
- " (doppi apici), \ (backslash) e NUL sono vengono
- preceduti in automatico dal backslash.
+ Abilita o disabilita il collezionista di riferimento circolare.
+
+
+
+
+
+
+ zend.max_allowed_stack_size
+ int
+
+
+
+ Il massimo spazio di stack nativo che il sistema operativo consente
+ al programma di consumare.
+ Cercare di consumare più di quanto il sistema operativo consenta
+ in genere provoca un crash grave senza informazioni di debug facilmente
+ disponibili.
+ Per semplificare il debug, il motore genera un
+ Error
+ prima che accada (quando il programma utilizza più di
+ zend.max_allowed_stack_size-zend.reserved_stack_size
+ byte di stack).
+
+
+ La ricorsione nel codice definito dall'utente non consuma spazio di stack nativo.
+ Tuttavia, le funzioni interne e i metodi magici lo fanno.
+ Una ricorsione molto profonda che coinvolge queste funzioni può causare l'esaurimento
+ di tutto lo spazio di stack nativo disponibile da parte del programma.
+
+
+ I valori possibili per questo parametro sono:
+
+
+ 0:
+ Rileva automaticamente lo spazio massimo di stack nativo che il sistema operativo
+ consente al programma di consumare.
+ Questo è il valore predefinito.
+ Quando il rilevamento non è possibile, viene utilizzato un valore predefinito di sistema noto.
+
+
+ -1: Disabilita il controllo delle dimensioni dello stack nel motore.
+
+
+ Intero positivo: una dimensione fissa, in byte.
+ Impostare questo valore su un valore troppo alto ha lo stesso effetto della disabilitazione del controllo delle
+ dimensioni dello stack.
+
+
- Vedere anche get_magic_quotes_gpc
+ Poiché la dimensione dello stack di
+ fibers
+ è determinata da
+ fiber.stack_size,
+ il valore di questo parametro viene utilizzato al posto di
+ zend.max_allowed_stack_size
+ quando si controlla l'utilizzo dello stack durante l'esecuzione di una Fiber.
+
+
+ Questo non è correlato agli overflow del buffer dello stack e non è una funzionalità
+ di sicurezza.
+
+
-
+
- magic_quotes_runtime
- bool
+ zend.reserved_stack_size
+ int
- &warn.deprecated.feature-5-3-0.removed-5-4-0;
- Se si abilita magic_quotes_runtime,
- diverse funzioni che restituiscono dati da ogni tipo di fonte esterna,
- compresi i database ed i file di testo, avranno gli apici
- preceduti dal backslash.
+ La dimensione dello stack riservato, in byte.
+ Questa viene sottratta dalla
+ dimensione massima consentita dello stack,
+ come buffer, quando si controlla la dimensione dello stack.
- Funzioni interessate da magic_quotes_runtime
- (non include le funzioni di PECL):
+ I valori possibili per questo parametro sono:
- get_meta_tags
- file_get_contents
- file
- fgets
- fwrite
- fread
- fputcsv
- stream_socket_recvfrom
- exec
- system
- passthru
- stream_get_contents
- bzread
- gzfile
- gzgets
- gzwrite
- gzread
- exif_read_data
- dba_insert
- dba_replace
- dba_fetch
- ibase_fetch_row
- ibase_fetch_assoc
- ibase_fetch_object
- mssql_fetch_row
- mssql_fetch_object
- mssql_fetch_array
- mssql_fetch_assoc
- mysqli_fetch_row
- mysqli_fetch_array
- mysqli_fetch_assoc
- mysqli_fetch_object
- pg_fetch_row
- pg_fetch_assoc
- pg_fetch_array
- pg_fetch_object
- pg_fetch_all
- pg_select
- sybase_fetch_object
- sybase_fetch_array
- sybase_fetch_assoc
- SplFileObject::fgets
- SplFileObject::fgetcsv
- SplFileObject::fwrite
+
+ 0: Rileva automaticamente una dimensione ragionevole.
+
+
+ Intero positivo: dimensione fissa, in byte.
+
-
+
- zend.enable_gc
- bool
+ fiber.stack_size
+ int
- Abilita o disabilita il collettore di referenze circolari.
+ La dimensione dello stack nativo, in byte, allocata per ogni
+ Fiber.
+
+
+ Il valore predefinito è 1MiB sui sistemi con una dimensione del puntatore inferiore a
+ 8 byte, o 2 MiB altrimenti.
-
diff --git a/reference/oci8/functions/oci-bind-by-name.xml b/reference/oci8/functions/oci-bind-by-name.xml
index 324dd0211..3a57f4c91 100644
--- a/reference/oci8/functions/oci-bind-by-name.xml
+++ b/reference/oci8/functions/oci-bind-by-name.xml
@@ -1,247 +1,872 @@
-
-
-
-
- oci_bind_by_name
-
- Lega una variabile PHP ad un segnaposto Oracle
-
-
-
- Descrizione
-
- booloci_bind_by_name
- resourcestmt
- stringnome_ph
- mixed&variabile
- intlungmax
- inttipo
-
-
- oci_bind_by_name collega la variabile PHP
- variable al segnaposto Oracle
- ph_name. L'utilizzo in modalità
- input o output sarà determinato a run-time, e lo spazio di memoria
- necessario sarà allocato. Il parametro
- lungmax imposta la lunghezza massima
- del collegamento. Se si imposta lungmax a -1
- oci_bind_by_name userà l'attuale lunghezza di
- variabile per impostare la lunghezza massima.
-
-
- Se si deve collegare un tipo dato astratto (LOB/ROWID/BFILE)
- occorre innanzitutto allocarlo usando la funzione
- oci_new_descriptor. Il parametro
- lungmax non è usato con i tipi dati astratti
- e dovrebbe essere impostato a -1. La variabile tipo
- informa oracle sul tipo di descrittore che si vuole usare. I valori possibili
- sono:
-
-
-
- OCI_B_FILE - per i BFILE;
-
-
-
-
- OCI_B_CFILE - per i CFILE;
-
-
-
-
- OCI_B_CLOB - per i CLOB;
-
-
-
-
- OCI_B_BLOB - per i BLOB;
-
-
-
-
- OCI_B_ROWID - per i ROWID;
-
-
-
-
- OCI_B_NTY - per i named datatype;
-
-
-
-
- OCI_B_CURSOR - per i cursori precedentemente
- creati con oci_new_cursor.
-
-
-
-
-
-
- esempio di ocibindbyname
-
+
+
+
+
+
+ oci_bind_by_name
+ Effettua il binding di una variabile PHP a un segnaposto Oracle
+
+
+
+ &reftitle.description;
+
+ booloci_bind_by_name
+ resourcestatement
+ stringparam
+ mixedvar
+ intmax_length-1
+ inttype0
+
+
+ Associa una variabile PHP var al segnaposto per
+ la variabile di bind Oracle param. Il binding
+ è importante per le prestazioni del database Oracle e anche come metodo per
+ evitare problemi di sicurezza legati all'SQL Injection.
+
+
+
+ Il binding consente al database di riutilizzare il contesto della dichiarazione e
+ le cache dalle esecuzioni precedenti della dichiarazione, anche se un altro
+ utente o processo l'ha inizialmente eseguita. Il binding riduce i rischi
+ legati all'SQL Injection, perché i dati associati a una variabile
+ di bind non sono mai trattati come parte della dichiarazione SQL. Non
+ è necessaria né il quoting né l'escaping.
+
+
+
+ Le variabili PHP sui cui è stato effettuato il binding possono essere modificate e la
+ dichiarazione rieseguita senza bisogno di rieffettuare il parsing della dichiarazione o
+ di rifare il bind.
+
+
+
+ In Oracle, le variabili di bind sono comunemente suddivise
+ in bind IN per i valori che vengono passati nel
+ database, e bind OUT per i valori che vengono
+ restituiti a PHP. Una variabile di bind può essere
+ sia IN che OUT. Se una
+ variabile di bind verrà utilizzata per l'input o per l'output viene determinato in
+ fase di esecuzione.
+
+
+
+ Bisogna specificare max_length quando si utilizza
+ un bind OUT affinché PHP possa allocare abbastanza memoria
+ per contenere il valore restituito.
+
+
+
+ Per i bind IN, è consigliato impostare
+ la lunghezza di max_length se la dichiarazione viene
+ rieseguita più volte con valori differenti per la variabile
+ PHP. Altrimenti Oracle potrebbe troncare i dati alla lunghezza del
+ valore iniziale della variabile PHP. Se non si conosce quale sarà la lunghezza
+ massima, richiamare di nuovo oci_bind_by_name
+ con la dimensione dei dati correnti prima di
+ ogni chiamata a oci_execute. Un binding con una
+ lunghezza eccessivamente grande avrà un impatto sulla memoria del processo
+ nel database.
+
+
+
+ Una chiamata al bind indica a Oracle da quale indirizzo di memoria leggere i dati.
+ Per i bind IN, questo indirizzo deve contenere
+ dati validi quando viene chiamato oci_execute. Ciò
+ significa che la variabile su cui è stato fatto il binding deve rimanere in scope fino
+ all'esecuzione. Se non rimane in scope, potrebbero verificarsi risultati imprevisti
+ o errori come
+ "ORA-01460: unimplemented or unreasonable conversion requested". Per i bind OUT, uno dei sintomi è che nessun
+ valore viene impostato nella variabile PHP.
+
+
+
+ Per una dichiarazione che viene eseguita ripetutamente, effeettuare il binding di valori che
+ non cambiano mai potrebbe ridurre la capacità dell'ottimizzatore Oracle di
+ scegliere il piano di esecuzione migliore. Le dichiarazioni di lunga durata
+ che vengono rieseguite raramente potrebbero non trarre vantaggio dal binding. Tuttavia,
+ in entrambi i casi, il binding potrebbe essere più sicuro rispetto all'unione di stringhe in una
+ dichiarazione SQL, poiché questo può rappresentare un rischio per la sicurezza se vengono concatenate
+ stringhe dell'utente non filtrate.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ statement
+
+
+ Un identificatore valido di una dichiarazione OCI8.
+
+
+
+
+ param
+
+
+ Il segnaposto della variabile bind con prefisso due punti utilizzato nella
+ dichiarazione. Il due punti è opzionale
+ in param. Oracle non utilizza i punti interrogativi
+ per i segnaposti.
+
+
+
+
+ var
+
+
+ La variabile PHP da associare a param
+
+
+
+
+ max_length
+
+
+ Imposta la lunghezza massima per i dati. Se la imposti su -1, questa
+ funzione utilizzerà la lunghezza attuale
+ di var per impostare la lunghezza
+ massima. In questo caso, var deve
+ esistere e contenere dati
+ quando viene chiamato oci_bind_by_name.
+
+
+
+
+ type
+
+
+ Il tipo di dato che Oracle tratterà come tale. Il
+ tipo default utilizzato
+ è SQLT_CHR. Oracle convertirà i dati
+ tra questo tipo e la colonna del database (o il tipo di
+ variabile PL/SQL), se possibile.
+
+
+ Se devi associare un tipo di dato astratto (LOB/ROWID/BFILE), devi
+ prima allocarlo utilizzando la funzione
+ oci_new_descriptor. La
+ length non viene utilizzata per i tipi di dato astratti
+ e dovrebbe essere impostata su -1.
+
+
+ I valori possibili per type sono:
+
+
+
+ SQLT_BFILEE o OCI_B_BFILE
+ - per i BFILE;
+
+
+
+
+ SQLT_CFILEE o OCI_B_CFILEE
+ - per i CFILE;
+
+
+
+
+ SQLT_CLOB o OCI_B_CLOB
+ - per i CLOB;
+
+
+
+
+ SQLT_BLOB o OCI_B_BLOB
+ - per i BLOB;
+
+
+
+
+ SQLT_RDD o OCI_B_ROWID
+ - per i ROWID;
+
+
+
+
+ SQLT_NTY o OCI_B_NTY
+ - per tipi di dati nominati;
+
+
+
+
+ SQLT_INT o OCI_B_INT - per gli interi;
+
+
+
+
+ SQLT_CHR - per i VARCHAR;
+
+
+
+
+ SQLT_BIN o OCI_B_BIN
+ - per le colonne RAW;
+
+
+
+
+ SQLT_LNG - per le colonne LONG;
+
+
+
+
+ SQLT_LBI - per le colonne LONG RAW;
+
+
+
+
+ SQLT_RSET - per i cursori creati
+ con oci_new_cursor;
+
+
+
+
+ SQLT_BOL o OCI_B_BOL
+ - per i BOOLEAN di PL/SQL (Richiede Oracle Database 12c)
+
+
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+
+ &reftitle.examples;
+
+
+ Inserimento di dati con oci_bind_by_name
+
+
+]]>
+
+
+
+
+
+
+ Binding una sola volta per più esecuzioni
+
+
+]]>
+
+
+
+
+
+
+ Binding con un ciclo foreach
+
+ 'IT Support', ':loc' => 1700);
+
+foreach ($ba as $key => $val) {
+
+ // oci_bind_by_name($stid, $key, $val) non funziona
+ // perché associa ogni segnaposto alla stessa posizione: $val
+ // invece usa la posizione effettiva dei dati: $ba[$key]
+ oci_bind_by_name($stid, $key, $ba[$key]);
+}
+
+oci_execute($stid);
+$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
+foreach ($row as $item) {
+ print $item." \n";
+}
+
+oci_free_statement($stid);
+oci_close($conn);
+
+?>
+]]>
+
+
+
+
+
+
+ Binding in una clausola WHERE
+
+\n";
+}
+
+// L'output è
+// Austin
+// Ernst
+// Hunold
+// Lorentz
+// Pataballa
+
+oci_free_statement($stid);
+oci_close($conn);
+
+?>
+]]>
+
+
+
+
+
+
+ Binding con una clausola LIKE
+
+\n";
+}
+// L'output è
+// South Brunswick
+// South San Francisco
+// Southlake
+
+oci_free_statement($stid);
+oci_close($conn);
+
+?>
+]]>
+
+
+
+
+
+
+ Binding con REGEXP_LIKE
+
+\n";
+}
+// L'output è
+// Beijing
+// Singapore
+
+oci_free_statement($stid);
+oci_close($conn);
+
+?>
+]]>
+
+
+
+
+
+ Per un numero limitato e fisso di condizioni nella clausola IN, usare variabili
+ di bind individuali. I valori sconosciuti al momento dell'esecuzione possono essere impostati su NULL.
+ Questo permette di utilizzare una singola dichiarazione per tutti gli utenti
+ dell'applicazione, massimizzando l'efficienza della cache del database Oracle.
+
+
+
+
+ Binding di più valori in una clausola IN
+
"Larry",
- 2222 => "Bill",
- 3333 => "Jim"
- );
+
+$conn = oci_connect('hr', 'welcome', 'localhost/XE');
+if (!$conn) {
+ $m = oci_error();
+ trigger_error(htmlentities($m['message']), E_USER_ERROR);
+}
+
+$sql = 'SELECT last_name FROM employees WHERE employee_id in (:e1, :e2, :e3)';
+$stid = oci_parse($conn, $sql);
+$mye1 = 103;
+$mye2 = 104;
+$mye3 = NULL; // supponiamo di non aver ricevuto questo valore
+oci_bind_by_name($stid, ':e1', $mye1);
+oci_bind_by_name($stid, ':e2', $mye2);
+oci_bind_by_name($stid, ':e3', $mye3);
+oci_execute($stid);
+oci_fetch_all($stid, $res);
+foreach ($res['LAST_NAME'] as $name) {
+ print $name ." \n";
+}
+
+// L'output è:
+// Ernst
+// Hunold
+
+oci_free_statement($stid);
+oci_close($conn);
+
+?>
+]]>
+
+
+
+
+
+
+ Binding di un ROWID restituito da una query
+
+
+]]>
+
+
+
+
+
+
+ Binding di un ROWID su INSERT
+
+ "Larry",
+ 2222 => "Bill",
+ 3333 => "Jim");
-$sal = 10000;
+// Stipendio per ogni persona
+$salary = 10000;
-while (list($empno, $ename) = each($data)) {
- oci_execute($stmt);
- oci_execute($update);
-}
+// Inserisce ed immediatamente aggiorna ogni riga
+foreach ($data as $id => $name) {
+ oci_execute($ins_stid);
+ oci_execute($upd_stid);
+}
$rowid->free();
+oci_free_statement($upd_stid);
+oci_free_statement($ins_stid);
-oci_free_statement($update);
-oci_free_statement($stmt);
-
-$stmt = oci_parse($conn, "
- SELECT
- *
- FROM
- emp
- WHERE
- empno
- IN
- (1111,2222,3333)
- ");
-oci_execute($stmt);
-
-while ($row = oci_fetch_assoc($stmt)) {
+// Mostra le nuove righe
+$stid = oci_parse($conn, "SELECT * FROM mytab");
+oci_execute($stid);
+while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
var_dump($row);
}
-oci_free_statement($stmt);
+oci_free_statement($stid);
+oci_close($conn);
+
+?>
+]]>
+
+
+
+
+
+
+ Binding per una stored function PL/SQL
+
+
]]>
-
-
-
-
- Ricordarsi che questa funzione elimina gli spazi alla fine della riga. Vedere il seguente
- esempio:
-
-
-
- esempio di oci_bind_by_name
-
+
+
+
+
+
+
+ Binding di parametri per una stored procedure PL/SQL
+
]]>
-
-
-
-
-
- esempio di oci_bind_by_name
-
+
+
+
+
+
+
+ Binding di una colonna CLOB
+
save("A very long string");
+
+oci_commit($conn);
+
+// Recupero dei dati CLOB
+
+$query = 'SELECT myclob FROM mytab WHERE mykey = :mykey';
+
+$stid = oci_parse ($conn, $query);
+oci_bind_by_name($stid, ":mykey", $mykey, 5);
+oci_execute($stid);
+
+print '
';
+ // In un ciclo, liberare la variabile di grandi dimensioni prima del secondo fetch riduce l'utilizzo massimo della memoria da parte di PHP
+ unset($row);
+}
+print '
';
+
?>
]]>
-
-
-
-
-
- Non utilizzare le magic_quotes_gpc o
- addslashes e oci_bind_by_name
- simultaneamente in quanto le virgolette non sono necessarie nelle variabili
- e qualsiasi virgoletta aggiunta automaticamente verrà scritta nel database dal momento che
- ocibindbyname non è in grado di distinguere
- le virgolette aggiunte automaticamente da quelle intenzionali.
-
-
-
- &return.success;
-
-
-
- Nelle versioni di PHP antecedenti la 5.0.0 si deve usare ocibindbyname.
- Questo nome può ancora essere utilizzato, è rimasto come alias di
- oci_bind_by_name per mantenere la compatibilità.
- Ciò è comunque deprecato e non raccomandato.
-
-
-
-
+
+
+
+
+
+
+ Binding di un BOOLEAN PL/SQL
+
+
+]]>
+
+
+
+
+
+
+
+ &reftitle.notes;
+
+
+ Non usare addslashes
+ e oci_bind_by_name contemporaneamente, in quanto non
+ è necessario nessun quoting. Qualsiasi tipo di quote applicato magicamente verrà scritto
+ nel tuo database, poiché oci_bind_by_name
+ inserisce i dati letteralmente e non rimuove le virgolette o i caratteri
+ di escape.
+
+
+
+
+ Se associ una stringa a una colonna CHAR in
+ una clausola WHERE, ricorda che Oracle utilizza
+ la semantica di confronto con padding vuoto per le colonne
+ CHAR. La tua variabile PHP dovrebbe essere riempita con spazi vuoti alla stessa
+ larghezza della colonna affinché la clausola WHERE abbia
+ successo.
+
+
+
+
+ L'argomento var di PHP è un riferimento. Alcune
+ forme di loop non funzionano come ci si aspetterebbe:
+
+
+
+ $value) {
+ oci_bind_by_name($stid, $key, $value);
+}
+?>
+]]>
+
+
+
+ Questo associa ogni chiave alla posizione di $value, quindi tutte le variabili
+ legate finiscono per puntare al valore dell'ultima iterazione
+ del ciclo. Usa invece il seguente codice:
+
+
+
+ $value) {
+ oci_bind_by_name($stid, $key, $myarray[$key]);
+}
+?>
+]]>
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ oci_bind_array_by_name
+ oci_parse
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/strings/functions/addslashes.xml b/reference/strings/functions/addslashes.xml
index 4b7b2a025..887006825 100644
--- a/reference/strings/functions/addslashes.xml
+++ b/reference/strings/functions/addslashes.xml
@@ -1,7 +1,7 @@
-
+
-
+addslashesEsegue il quoting di una stringa con gli slash
@@ -11,7 +11,7 @@
&reftitle.description;
stringaddslashes
- stringstr
+ stringstring
La funzione restituisce una stringa con il carattere backslash anteposto ai caratteri
@@ -37,15 +37,6 @@ eval("echo '" . addslashes($str) . "';");
-
- Prima di PHP 5.4.0, la direttiva PHP magic_quotes_gpc
- era on per impostazione predefinita ed essenzialmente eseguiva addslashes
- su tutti i dati GET, POST e COOKIE.
- addslashes non deve essere usato su stringhe su cui è già stato
- effettuato l'escape con magic_quotes_gpc,
- poiché sulle stringhe verrebbe fatto un doppio escape. get_magic_quotes_gpc può essere usata per controllare
- se magic_quotes_gpc è on.
-
A volte addslashes è erroneamente utilizzato per provare a prevenire
SQL Injection. Invece,
@@ -58,7 +49,7 @@ eval("echo '" . addslashes($str) . "';");
- str
+ string
La stringa su cui fare l'escape.
@@ -108,7 +99,6 @@ echo addslashes($str);
-
-
-
-
- parse_str
- Suddivide una stringa in variabili
-
-
- Descrizione
-
- voidparse_str
- stringstr
- arrayarr
-
-
- Suddivide la stringa str come se fosse una stringa di query
- passata via URL ed imposta le variabili con visibilità locale. Se si indica
- il secondo parametro arr,
- la variabili sono memorizzate come elementi della matrice arr.
-
-
-
- Il supporto per il secondo parametro, opzionale, è stato aggiunto in PHP 4.0.3.
-
-
-
-
- Per avere la QUERY_STRING corrente occorre utilizzare la variabile
- $_SERVER['QUERY_STRING'].
- Inoltre è opportuno leggere la sezione sulle
- variabili esterne al PHP.
-
-
-
-
- L'impostazione magic_quotes_gpc
- influisce sull'output di questa funzione, poiché parse_str utilizza
- lo stesso meccanismo che usa il PHP per compilare le variabili
- $_GET, $_POST, ecc.
-
-
-
-
- Esempio di uso di parse_str
-
+
+
+
+
+
+ parse_str
+ Effettua il parsing della stringa in variabili
+
+
+
+ &reftitle.description;
+
+ voidparse_str
+ stringstring
+ arrayresult
+
+
+ Suddivide la stringa string come se fosse una query string
+ passata via URL ed imposta le variabili nell'ambito corrente (o nell'array
+ se è fornito il parametro result).
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ string
+
+
+ La stringa di input.
+
+
+
+
+ result
+
+
+ Se è presente il secondo parametro result,
+ le variabili vengono invece memorizzate in questa variabile come elementi dell'array.
+
+
+
+
+ L'uso di questa funzione senza il parametro result è fortemente
+ NON CONSIGLIATO e DEPRECATO a partire da PHP 7.2.
+ A partire da PHP 8.0.0, il parametro result è OBBLIGATORIO.
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ result non è più opzionale.
+
+
+
+ 7.2.0
+
+ L'uso di parse_str senza un secondo parametro
+ ora genera un avviso E_DEPRECATED.
+
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Utilizzo di parse_str
+
+]]>
+
+
+
+
+ Poiché le variabili in PHP non possono contenere punti e spazi nei loro nomi,
+ questi vengono convertiti in underscore. Lo stesso vale per la denominazione delle
+ rispettive chiavi nell'array quando si usa questa funzione con il
+ parametro result.
+
+ parse_str name mangling
+
+
]]>
-
-
-
-
- Vedere anche parse_url, pathinfo,
- get_magic_quotes_gpc e urldecode.
-
-
-
+
+
+
+
+
+
+ &reftitle.notes;
+
+
+
+ Su tutte le variabili create (o i valori restituiti nell'array se è impostato il secondo parametro)
+ sarà già eseguita la funzione urldecode.
+
+
+
+
+ Per ottenere la QUERY_STRING corrente, puoi usare la variabile
+ $_SERVER['QUERY_STRING'].
+ Inoltre, potrebbe essere utile leggere la sezione su
+ variabili da fonti
+ esterne.
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ parse_url
+ pathinfo
+ http_build_query
+ urldecode
+
+
+
+
+-->
\ No newline at end of file
diff --git a/reference/strings/functions/stripslashes.xml b/reference/strings/functions/stripslashes.xml
index 99cb5a4d0..8c80dd280 100644
--- a/reference/strings/functions/stripslashes.xml
+++ b/reference/strings/functions/stripslashes.xml
@@ -1,58 +1,82 @@
-
-
-
-
-
- stripslashes
-
- Rimuove gli slash aggiunti con addslashes
-
-
-
- Descrizione
-
- stringstripslashes
- stringstr
-
-
- Rimuove i backslash da una stringa.
- (\' diventa ' e così via.)
- I doppi backslash (\\) sono ridotti ad un singolo
- backslash (\).
-
-
- Un esempio di uso di stripslashes è dato dall'opzione PHP
- magic_quotes_gpc
- che, quando è impostata a on (come è per default), e non siinseriscono
- questi dati in una procedura (tipo in un database) che richiede il carattere di escape.
- Ad esempio, se si visualizza dati da un form
- HTML.
-
-
-
- Esempio di uso di stripslashes
-
+
+
+
+
+
+ stripslashes
+ Rimuove i caratteri di escape da una stringa su cui si è effettuato l'escape
+
+
+
+ &reftitle.description;
+
+ stringstripslashes
+ stringstring
+
+
+ Rimuove i caratteri di escape da una stringa su cui si è effettuato l'escape.
+
+
+ stripslashes può essere utilizzata se non si inserisce
+ questo dato in un posto (come un database) che richiede l'escape dei caratteri.
+ Per esempio, se si sta semplicemente visualizzando i dati direttamente da un modulo HTML.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ string
+
+
+ La stringa di input.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce una stringa con i caratteri di escape (backslash) rimossi.
+ (\' diventa ' e così via.)
+ I doppi backslash (\\) vengono trasformati in un singolo
+ backslash (\).
+
+
+
+
+ &reftitle.examples;
+
+
+ Un esempio di stripslashes
+
]]>
-
-
-
-
-
- La funzione stripslashes non è ricorsiva Se si desidera utilizzare
- questa funzione su una matrice multi-dimensionale, occorre utilizzare una funzione ricorsiva.
-
-
-
-
- Esempio di utilizzo di stripslashes su una matrice
-
+
+
+
+
+
+ stripslashes non è ricorsiva. Se desideri applicare
+ questa funzione a un array multidimensionale, è necessario usare una funzione
+ ricorsiva.
+
+
+
+
+ Utilizzo di stripslashes su un array
+
]]>
-
- &example.outputs;
-
+
+ &example.outputs;
+
fo'o
[1] => b'ar
)
-
+
)
]]>
-
-
-
-
- Per maggiori dettagli su "magic quotes", vedere get_magic_quotes_gpc.
-
-
- Vedere anche addslashes e
- get_magic_quotes_gpc.
-
-
-
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ addslashes
+ get_magic_quotes_gpc
+
+
+
+
+-->
\ No newline at end of file