Salve a tutti,
ecco a voi uno scriptino realizzato da me in questi giorni per una semplice utility.
Lo script consiste nel contare parole contenute in una stringa.
Le funzioni utilizzate sono state:
trim(string)- per levare inutili spazi lasciati dall'utente all'inizio e fine stringa
substr_count(haystack, needle) - Per contare gli spazi presenti
PHP:
-
<?php
-
-
$stringa="SILVIA RIMEMBRI ANCORA QUEL TEMPO DELLA TUA VITA MORTALE";
-
-
//Elimino gli spazi iniziali e finali
-
-
-
//Trovo tutte le occorrenze degli spazi rimasti
-
-
-
//Aggiungo una unità per tenere conto dell'ultima parola
-
$ParoleContate = $Parole+1;
-
-
echo "HO CONTATO ".
$ParoleContate.
" PAROLE!!!";
-
-
?>
La funzione substr_count viene utilizzata per contare gli ulteriori spazi rimanenti dopo l'eliminazione di questi da inizio e fine stringa attraverso la funzione trim.
Dopodichè aggiungo una unità al totale degli spazi contati per tenere conto dell'ultima parola dopo l'ultimo spazio.
Ecco quà, fatemi sapere se vi è stata utile, o se avete altre soluzioni, sicuramente più performanti della mia.
Cristian
Per verificare se un numero è pari o dispari, devi usare l'operatore di modulo "%".
PHP:
-
<?PHP
-
$numero=5;
-
if ($numero % 2 == 0) {
-
echo $numero.
' è un numero pari';
-
} else {
-
echo $numero.
' è un numero dispari';
-
}
-
?>
Questo semplice script ti restituirà a video il messaggio "5 è un numero dispari".
Poter gestire i numeri in questo modo torna utile ad esempio se devi creare una tabella con le righe con colore di sfondo alternato.
In questo esempio una tabella costruita con un ciclo for alterna una riga grigia ad una riga bianca, per 10 righe complessive:
PHP:
-
<?PHP
-
echo "<table width=\"770\">\n";
-
for ($counter=1; $counter<=10; $counter++)
-
{
-
if ($counter % 2 == 0) {
-
$color="#CCCCCC";
-
} else {
-
$color="#FFFFFF";
-
}
-
echo "<tr><td bgcolor=\"$color\"> Riga $counter </td></tr>\n";
-
}
-
-
?>
Questa classe segnalata e realizzata da Flaz è utilissima per la gestione di database mysql. Il post illustra tutta una serie di esempi per un pratico e corretto utilizzo.
Gestione della connessione MySQL in PHP: la mia classe
Con le nuove versioni di php è stato prima deprecato e poi eliminato il parametro Magic Quotes. Questo parametro, quando impostato su ON, aggiungeva automaticamente il carattere escape - \ - ove necessario nei dati in arrivo via post, get o cookie.
Più semplicemente, se da una pagina all'altra mandavi una variabile, da aggiungere su database mysql, di questo tipo:
PHP:
-
$var="L'uno per l'altro, con l'altro, contro l'altro";
il contenuto della variabile veniva automaticamente convertito in:
"L\'uno per l\'altro, con l\'altro, contro l\'altro".
Con il Magic Quotes impostato su OFF, o assente, ovviamente questo non succede più e ciò significa che questa operazione va fatta fare di volta in volta, altrimenti, per intenderci, la query di inserimento su database restituisce un warning o tronca la stringa al primo apice (se non ricordo male).
Per ovviare a questa cosa si usa la funzione mysql_escape_string($unescaped_string) in questo modo:
Fatto questo la variabile può tranquillamente essere utilizzata.
Quindi...
Se devi scrivere un codice ex-novo nessun problema.
Ma...
Il problema nasce quando hai un codice già scritto da trasferire su un server che non prevede le Magic Quotes. Dovresti prendere una ad una tutte le variabili che interessano inserimenti/aggiornamenti su database e "mysql_escape_string-arle".
In alternativa come fare?
Un metodo potrebbe essere quello di includere all'inizio di ogni file php (magari sfruttando un'inclusione già esistente) il seguente piccolo script:
PHP:
-
foreach ($_POST as $key => $value)
-
In questo modo tutte le variabili passate in POST verranno "mysql_escape_string-ate" in automatico.
Quella di rinominare un file in upload è una cosa che può essere molto utile fondamentalmente per 2 motivi:
- evitare di sovrascrivere file esistenti che hanno lo stesso nome
- evitare errori di upload dovuti a caratteri strani presenti nel nome del file
io uso un metodo molto semplice, in fase di upload, rilevo l'estensione del file con questa mia funzione, e le antepongo un nome univoco, utilizzando la funzione uniqid(pref).
Tale funzione oltre che restituire una stringa univoca permette si assegnare una sorta di prefisso, utile per identificare ad esempio i file di diverse sezioni di un sito (es. home_474ab038b3bbe.jpg)
Quindi, il solito form invierà il file da uplodare a upload.php
PHP:
-
<form method="post" action="upload.php" enctype="multipart/form-data">
-
<input type="file" name="file_da_uplodare">
-
<input type="submit" value="Invia">
-
</form>
... a seguire il file upload.php nel quale includo anche la funzione per rinominare il file, riceverà il file, lo rinominerà e lo uploderà.
PHP:
-
<?php
-
-
function estensione($nome){
-
$trova_punto =
explode(".",
$nome);
-
$estensione =
$trova_punto[count($trova_punto) -
1];
-
-
if (isset($trova_punto[1]) ==
FALSE){
-
return "Nessuna estensione";
-
}
-
return $estensione;
-
}
-
-
// directory dove va uplodato il file
-
$directory = 'directoryupload/';
-
-
// verifica l'esistenza del file
-
if (isset($_FILES['file_da_uplodare'])) {
-
$file_temporaneo= $_FILES['file_da_uplodare']['tmp_name'];
-
$nome_file = $_FILES['file_da_uplodare']['name'];
-
-
// trova l'estensione del file
-
$estensione_file=estensione($nome_file);
-
// assegna un nome univooco al file
-
$nome_file=
uniqid(file_
).
".".
$estensione_file;
-
-
//esegue l'upload e controlla che vada a buon fine
-
-
echo "Il file è stato caricato";
-
} else {
-
echo "Si è verificato un errore durante l'upload";
-
}
-
}
-
?>
Le prime volte che mi cimentavo con php e mysql, con tutta la mia ingenuità, costruivo i database con la riga di comando. La cosa, soprattutto all'inizio risulta abbastanza laboriosa.
Ovviamente qualcuno aveva già pensato ad un modo più veloce per gestire i database mysql. Fortuna me ne sono accorto in fretta.
phpmyadmin
phpMyAdmin è un'applicazione PHP libera che consente di amministrare in modo semplificato database di MySQL tramite un qualsiasi browser. L'applicazione è indirizzata sia agli amministratori del database, sia agli utenti gestisce i permessi prelevandoli dal database MySQL.
PhpMyAdmin permette di creare un database da zero, creare le tabelle ed eseguire operazioni di ottimizzazione sulle stesse. Presenta un feedback sulla creazione delle tabelle per evitare eventuali errori. Sono previste delle funzionalità per l'inserimento dei dati (popolazione del database), per le query, per il backup dei dati, ecc..
via wikipedia
Ultimi Commenti