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_uploads 20 - 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 <function>bcadd</function> - + + + + + + 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 <function>bcadd</function> + ]]> - - - - - &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 <function>bcdiv</function> - + + + + + + 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 <function>bcdiv</function> + ]]> - - - - - &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"; +if (($handle = fopen("test.csv", "r")) !== FALSE) { + while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { + $num = count($data); + echo "

$num campi sulla riga $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 <function>fwrite</function> + +]]> + + + + + + + &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.callback NULL INI_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_vars 1000 INI_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_gc bool - - &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 <function>ocibindbyname</function> - + + + + + + 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 <function>oci_bind_by_name</function> + + +]]> + + + + + + + Binding una sola volta per più esecuzioni + + +]]> + + + + + + + Binding con un ciclo <literal>foreach</literal> + + '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 <function>oci_bind_by_name</function> - + + + + + + + Binding di parametri per una stored procedure PL/SQL + ]]> - - - - - - esempio di <function>oci_bind_by_name</function> - + + + + + + + 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 ''; +while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) { + 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 '
'.$row['MYCLOB'].'
'; + ?> ]]> -
-
-
- - - 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 @@ - + - + addslashes Esegue 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 <function>parse_str</function> - + + + + + + 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 <function>parse_str</function> + +]]> + + + + + 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. + + <function>parse_str</function> 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 <function>stripslashes</function> - + + + + + + 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 <function>stripslashes</function> + ]]> - - - - - - 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 <function>stripslashes</function> su una matrice - + + + + + + stripslashes non è ricorsiva. Se desideri applicare + questa funzione a un array multidimensionale, è necessario usare una funzione + ricorsiva. + + + + + Utilizzo di <function>stripslashes</function> 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