In questi giorni, a cavallo del cambio della connessione ADSL, in ufficio si è creata un po’ di confusione tra Bit e Byte ed anche l’incaricato della compagnia telefonica che ci ha presentato i dettagli della nuova connessione non ha dato la sensazione di aver molto chiare le idee.
Ne approfitto per fare un po’ di chiarezza.
Partiamo un po’ da lontano… Il Bit assume il valore di una cifra del sistema binario, quindi 1 o 0 (zero) invece il Byte è una sequenza di Bit, quindi già da questa cosa se ne può intuire la diversità.
In pratica un Byte è composto da 8 Bit, parlando di velocità ADSL o di una rete locale che viene misurata in Bit per secondo bisogna dividere per 8 la banda dichiarata per ottenere la velocità in Byte.
Per esempio se attiviamo una linea ADSL con una banda di 20Mbit (20.000.000 Bit) la nostra velocità di download massima sarà 20.000.000/8 = 2.500.000 Byte, ovvero quasi 2.5 Mega Byte per secondo.
In questi giorni cercavo un plugin per far apparire un Mp3 Player sui post del blog, ne ho provati vari… alcuni andavano in errore all’attivazione invece i restanti, se pur attivi, non funzionavano. Allora per fare prima ne ho scritto uno io, e direi proprio che funziona a dovere. Basta copiarlo nella cartella plugin del blog ed attivarlo dal pannello di controllo. Per il resto pensa a tutto lui: sostituisce con un player flash ogni link ad un file mp3.
Ecco un esempio di come si può fare un upload ftp con Php. La seguente funzione trasferisce mediante protocollo ftp il contenuto di una cartella verso uno spazio ftp.
La proprietà $setting della funzione è un array che deve contenere i seguenti dati:
$setting['Host'] -> Host a cui collegarsi, ad esempio un indirizzo ip;
$setting['User'] -> Nome utente per la connessione ftp
$setting['Pass'] -> Password per la connessione ftp
$setting['RemoteFolder'] -> Percorso remoto su cui trasferire i file, ad esempio “/Upload/”
$setting['DeleteRemoteFiles'] -> Se viene settato con valore 1, prima del caricamento vengono cancellati tutti i files presenti nel $setting['RemoteFolder']
$setting['LocalFolder'] -> Percorso dove recuperare i files da trasferire, ad esempio “/home/File_da_trasferire/”
<?phpfunction FtpUpload($setting){if(!$conn_id=@ftp_connect($setting['Host'])){returnfalse;}if(!$login_result=@ftp_login($conn_id,$setting['User'],$setting['Pass'])){ftp_quit($conn_id);returnfalse;}if($setting['DeleteRemoteFiles']==1){if($contents=ftp_nlist($conn_id,$setting['RemoteFolder'])){foreach($contentsas$v){if($v!="." and $v!=".."){if(@ftp_delete($conn_id,$v)){$ndelete++;}else{$faildelete.="Errore nella rimozione del file remoto: ".$v."<br />\n";}}}}else{ftp_quit($conn_id);returnfalse;}}if($handle=opendir($setting['LocalFolder'])){while(($file=readdir($handle))!==false){if($file!="." and $file!=".."){if(@ftp_put($conn_id,$setting['RemoteFolder'].$file,$setting['LocalFolder'].$file,FTP_BINARY)){$nput++;}else{$failput.="Errore nell'upload del file: ".$setting['LocalFolder'].$file."<br />\n";}}}}else{ftp_quit($conn_id);returnfalse;}ftp_quit($conn_id);$return['nput']=$nput;$return['ndelete']=$ndelete;$return['failput']=$failput;$return['faildelete']=$faildelete;return$return;}$setting['Host']='';$setting['User']='';$setting['Pass']='';$setting['RemoteFolder']='';$setting['DeleteRemoteFiles']='0';$setting['LocalFolder']='';if($upload= FtpUpload($setting)){print_r($upload);}else{echo"Si è verificato un errore";}?>