Articoli marcati con tag ‘Php’

I file di testo con il linguaggio PHP

22 gen 2010

Il linguaggio PHp si sviluppa praticamente dal C, creato per raccogliere delle necessità di molti programmatori di Internet.

La coppia Php – MySql si può dire quindi che ha visto luce soltanto dopo il linguaggio di programmazione C.

Il linguaggio PHP ci consente, oltre alla gestione dei database, altresì di organizzare i file di testo (.txt).

(continua…)

Il metodo GET con il linguaggio PHP

21 gen 2010

Il linguaggio di programmazione PHP ci permette molte volte di realizzare dei siti dinamici,cioè di disporre di un’importante possibilità: cambiare ciò che è racchiuso in una pagina web, modificandolo secondo le necessità dell’utente o del webmaster.

(continua…)

Trucchi in PHP

8 gen 2010

Vediamo oggi qualche trucco per il linguaggio PHP.

Quante volte vi sarete domandati, come posso fare per arricchire il mio guestbook con gli smile? Da dove devo iniziare? Che codice devo inserire?

(continua…)

Ecco il concetto di lazy loading in PHP

9 dic 2009

Trattiamo in quest’articolo il concetto di lazy loading (tradotto in italiano ha il significato di “caricamento pigro”), proposto dalle teorie della programmazione orientata agli oggetti: è molto interessante e non deve essere fatto l’errore di sottovalutarlo.

Per chiarirci le idee è meglio fare un esempio: immaginiamo una situazione in cui abbiamo realizzato dieci diversi classi e il nostro compito è quello di caricarle tutte all’interno della nostra applicazione.

(continua…)

Funzioni in php per gestire l’ora

4 dic 2009

phpIn php il tempo è calcolato per mezzo del famoso Unix Epoch (il numero di secondi trascorsi dal giorno di nascita di Unix (convenzionalmente dal dal 1 gennaio 1970)
Esistono varie funzioni in php per gestire l’ora con questo metodo e convertirla in un formato a cui siamo un po’ più abituati.

La funzione date() permette di formattare un dato valore intero timestamp, basandosi su alcuni particolari caratteri..
carattere
significato
d
giorno del mese numerico 01-31
D
giorno della settimana in abbreviazione di 3 caratteri
m
mese numerico 01-12
M
mese in abbreviazione di 3 caratteri
F
mese in parola
Y
anno a quattro cifre
y
anno a due cifre
H
ore 00-24
h
ore 00-12
i
minuti
s
secondi
Vediamo come usare date() per la rappresentazione “d-m-Y ” ovvero giorno-mese-anno, in base a quanto riportato nella precedente tabella:
echo date (“d-m-Y “, time());
time() restituissce la data (ed ora) attuale in unix epoch format.
Date mi consente di convertirla in formato d-m-Y (altri formati sono sperimentabili grazie alla tabella).

In caso disponessimo gia di parametri come mese, anno, giorno, ora, etc… sarebbe comodo poter tornare indietro a conoscere lo Unix Epoch.
A far ciò ci pensa mktime

mktime(12,40,7,1,2,2009);

restituirà l’intero Unix Epoch delle 12:40 e 7 secondi del 2 – 1 – 2009

Se lavoriamo in php, mktime è integrato del linguaggio vero e proprio.
Interessane è vedere come possiamo facilmente ottenere una funzione analoga in JavaScript:

function mktime () {
// Get UNIX timestamp for a date
//
// version: 909.322
// discuss at: http://phpjs.org/functions/mktime // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: baris ozdil
// + input by: gabriel paderni
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: FGFEmperor // + input by: Yannoo
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + input by: jakes
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Marc Palau // + improved by: Brett Zamir (http://brett-zamir.me)
// + input by: 3D-GRAF
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
// * example 1: mktime(14, 10, 2, 2, 1, 2008);
// * returns 1: 1201871402 // * example 2: mktime(0, 0, 0, 0, 1, 2008);
// * returns 2: 1196463600
// * example 3: make = mktime();
// * example 3: td = new Date();
// * example 3: real = Math.floor(td.getTime()/1000); // * example 3: diff = (real - make);
// * results 3: diff < 5
// * example 4: mktime(0, 0, 0, 13, 1, 1997)
// * returns 4: 883609200
// * example 5: mktime(0, 0, 0, 1, 1, 1998) // * returns 5: 883609200
// * example 6: mktime(0, 0, 0, 1, 1, 98)
// * returns 6: 883609200
var no=0, i = 0, ma=0, mb=0, d = new Date(), dn = new Date(), argv = arguments, argc = argv.length;
var dateManip = {
0: function (tt){ return d.setHours(tt); },
1: function (tt){ return d.setMinutes(tt); },
2: function (tt){ var set = d.setSeconds(tt); mb = d.getDate() - dn.getDate(); d.setDate(1); return set;},
3: function (tt){ var set = d.setMonth(parseInt(tt, 10)-1); ma = d.getFullYear() - dn.getFullYear(); return set;}, 4: function (tt){ return d.setDate(tt+mb);},
5: function (tt){
if (tt >= 0 && tt <= 69) {
tt += 2000;
} else if (tt >= 70 && tt <= 100) {
tt += 1900;
}
return d.setFullYear(tt+ma);
} // 7th argument (for DST) is deprecated
};

for (i = 0; i < argc; i++){
no = parseInt(argv[i]*1, 10); if (isNaN(no)) {
return false;
} else {
// arg is number, let's manipulate date object
if (!dateManip[i](no)){ // failed
return false;
}
}
} for (i = argc; i < 6; i++) {
switch (i) {
case 0:
no = dn.getHours();
break; case 1:
no = dn.getMinutes();
break;
case 2:
no = dn.getSeconds(); break;
case 3:
no = dn.getMonth()+1;
break;
case 4: no = dn.getDate();
break;
case 5:
no = dn.getFullYear();
break; }
dateManip[i](no);
}

return Math.floor(d.getTime()/1000);
}


Non è altro che la trasposizione JavaScript di una funzione gia esistente per altri linguaggi.
Il programmatore esperto non avrà alcuna difficoltà ad integrare questa funzione in una libreria js da associare al proprio lavoro WEB.
Buon lavoro

L’UPLoad di file con php

3 dic 2009

L’UPLoad di file con php è un’impresa assai semplice:
Vediamo come si può effettuare con facilità.
Dato un piccolo form
il cui codice è:


Notiamo che abbiamo inserito nel form un campo file (che abbiamo, con uno sforzo di fantasia minimo, chiamato proprio “file”)

Per caricare un file con un form è necessario che la proprietà del form enctype sia pari a “multipart/form-data”.

Configuriamo ora la parte di codice relativa alla azioen da compiere al momento del submit:

dove nel form è impostata la proprità action

action=""

poniamo:

action="upload.php"


cioé associamo l’azione al file php da chiamare che effettuerà l’upload (Ovviamente il file può chiamrsi in qualsiasi maniera… noi lo chiamiamo upload.php sempre per risparmiarci in sforzi di fantasia).

Ora non resta che definire il comportamento di upload.php

Esso dovrà fare un tot di cose:

1)recuperare il valore file passato:

$f = $_REQUEST['file'];

$f ora conterrà un vettore con i vari campi name, type, etc.. relativi al file passato.
Tali campi saranno accesibili mediante la sintassi:

$f[‘name’]
$f[‘type’]
etc..

2)verificare che il valore passato contenga dati (cioè sia stato passato un file).. per far ciò è sufficiente verificare che abbia un nome.
Se il nome non è nullo… procediamo:


if ($f ["name"]!=NULL)
{
$filetemp = $f['tmp_name'];
$filename = $f['name'];

$File_Dest = $_SERVER[‘DOCUMENT_ROOT’].“/$filename”;
if (file_exists($File_Dest))
unlink($File_Dest);
$c = copy($filetemp, $File_Dest);
}

Analizziamo il codice:

if ($f ["name"]!=NULL)  Se il nome del file esiste (così da supporre che esista anche il file)
allora:

Recupera il nome del file temporaneo

$filetemp = $f['tmp_name'];

Recupera il nome del file vero

$filename = $f['name'];

Impostiamo la destinazione fisica:

$File_Dest = $_SERVER[‘DOCUMENT_ROOT’].“/$filename”;

Se il file gia esite, eliminalo:

if (file_exists($File_Dest))
unlink($File_Dest);

Copia il file

$c = copy($filetemp, $File_Dest);

Ovviamente questo codice può essere notevolmente raffinato e permettere un upload ordinato in cartella e con nome progressivo.
Come sempre, è un punto di partenza per il lettore che ama approfondire.

PHP: Crea la tua introduzione agli articoli

16 lug 2009

Avete un sito internet che aggiornate spesso con vostri articoli personali? Si usa spesso, di anticipare questi articoli con un testo iniziale, cosi da attrarre l’attenzione a tutti visitatori. La variabile “$testo” conterrà il testo dell’intero articolo che potrà essere prelevato, per esempio, da un database; tramite la variabile “$lung_max” stabiliremo invece il numero di parole che dovranno costituire l’introduzione.

Ecco una funzione per PHP che vi permetterà di creare l’introduzione agli articoli.

?
function intro($testo, $lung_max, $finale) {
return (count($str = explode(' ', $testo)) $lung_max)
?implode(' ', array_slice($str, 0, $lung_max)) . $finale : $testo;
}
$testo = "Testo testo testo testo testo
testo testo testo testo testo testo testo";
$lung_max = 2;
$finale = " ..";
$intro = intro($testo, $lung_max, $finale);
echo $intro;
?

Php: Realizza form per quiz

14 lug 2009

In questo tutorial potrete vedere come Php può essere utilizzato per interagire con gli utenti attraverso i vari form. Quiz on line sul vostro sito? Ecco il codice della pagina html:

<form action="quiz.php" method="get">
In quale squadra di calcio italiana ha giocato Maradona?
 
 Juve
 
 Milan
 
 Napoli
 
 
</form>

Ed ecco il codice in Php

html
head&amp;/head
body
?php
if ($_GET['risposta'] == "Napoli") echo "Risposta esatta!";
if ($_GET['risposta'] != "Napoli") echo "Risposta sbagliata! Maradona giocò nel Napoli";
?
/body
/html

PHP: Funzione per download

13 lug 2009

Vi piacerebbe inserire all’interno del vostro sito un sistema che simula lo scaricamento di un file tipo allegato di posta elettronica o cose simili?Ecco il codice, per utilizzarla basta richiamare il file contenente la pozione della web root indicando i parametri.

 
php
function allegato($percorso,$nome_file)
{
@header('Pragma: private');
@header('Cache-control: private, must-revalidate');
@header("Content-Type: application/octet-stream");
@header("Content-Length: " .(string)(@filesize($percorso)) );
@header('Content-Disposition: attachment; filename="'.($nome_file).'"');
@readfile($percorso);
@exit;
}
?

Php e FTP

8 lug 2009

Non molti sanno che si può lavorare con php sfruttando il protocollo Ftp, ecco come creare una connessione Ftp utilizzando poche stringe di codice di programmazione:

?
// impostiamo l'host FTP a cui connetterci
$ftp_host = "ftp://sito.com";
 
// impostiamo user e pass per l'accesso FTP
$ftp_user = "nome_utente";
$ftp_pass = "password"
 
// impostiamo la connessione al server
$myconn = ftp_connect($ftp_host);
 
// effettuiamo login con user e pass
$mylogin = ftp_login($conn_id, $ftp_user, $ftp_pass);
 
// controlliamo se la connessione è OK...
if ((!$myconn) or (!$mylogin))
{
echo "Connessione fallita a " . $ftp_host . "!";
die;
}
else
{
echo "Connesso a " . $ftp_host . " - utente " . $ftp_user . "!";
}
 
// chiudiamo la connessione FTP
ftp_quit($myconn);
?