Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Upload dei file in MySQL :: Indice Php

Upload dei file in MySQL

Categoria: Php Inserito il: 02-05-2006 Stampa (5419 click)

Per l'invio delle immaginii file nella nostra tabella denominata "immagini", utilizzeremo il classico sistema basato su un form per l'invio dei parametri di input e di un sorgente PHP dedicato all'elaborazione di questi ultimi.

Nel caso specifico, creeremo una funzione destinata alla raccolta dei dati tramite form e all'inserimento di questi ultimi nel database:

<?
function upload()
{
  $result = false;
  $immagine = '';
  $size = 0;
  $type = '';
  $nome = '';
  $max_size = 300000;
  $result = @is_uploaded_file($_FILES['file']['tmp_name']);
  if (!$result)
  {
    echo "Impossibile eseguire l'upload.";
    return false;
  }else{
    $size = $_FILES['file']['size'];
    if ($size > $max_size)
    {
      echo "Il file è troppo grande.";
      return false;
    }
    $type = $_FILES['file']['type'];
    $nome = $_FILES['file']['name'];
    $immagine = @file_get_contents($_FILES['file']['tmp_name']);
    $immagine = addslashes ($immagine);
    @include 'config.php';
    $sql = "INSERT INTO immagini (nome, size, type, immagine) 
VALUES ('$nome','$size','$type','$immagine')";
    $result = @mysql_query ($sql) or die (mysql_error());
    return true;
  }
}
?>
L'impianto della funzione upload() è abbastanza semplice, in pratica lo script riceve i dati dal form, controlla che l'upload sia avvenuto correttamente tramite la funzione is_uploaded_file(), quindi, esegue un secondo controllo sulla grandezza dell'immagine che non deve superare i 30.000 byte.

Una volta eseguite le opportune verifiche, la funzione da il via alla query d'inserimento dei dati all'interno della tabella. Da notare come le informazioni relative all'immagine vengano raccolte tramite la superglobale $_FILES, mentre i contenuti binari del file sono estrapolati tramite la funzione file_get_contents().

Nello script viene richiamato, tramite un'inclusione, anche il classico file di configurazione contenente i parametri necessari alla connessione a MySQL e alla selezione del database:
<?
$host = 'localhost';
$username = 'user';
$password = 'password';
$db = 'img';
$conn = @mysql_connect($host,$username,$password) or die (mysql_error());
$sel = @mysql_select_db($db) or die (mysql_error());
?>
Attenzione: questo articolo stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pi importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Confrontare due date con PHP
La funzione che vedremo in questo breve tutorial serve per calcolare la differenza espressa in numero di giorni trà... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti