dv e video...(2)

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Ciao ragazzi se per fare un db con gestione delle immagini devo fare questo:


pagina dove posso includere il file
PHP:
<html>  

<head>  
</head>  
<body>  

<?php   
// se è stato inviato il file...  
if(isset($_POST['invia']))  
{  
    // se ci sono stati problemi nell'upload del file  
    if(!isset($_FILES['image']) OR $_FILES['image']['error'] != UPLOAD_ERR_OK)  
    mostra_form("errore nell'invio del file. Riprova");  
   
    // connessione e selezione del database  
// connessione e selezione del database  
include_once('connettti.php');  
   
    // recupero alcune informazioni sul file inviato  
    $nome_file_temporaneo = $_FILES['image']['tmp_name'];  
    $nome_file_vero = $_FILES['image']['name'];  
    $tipo_file = $_FILES['image']['type'];  
   
    // leggo il contenuto del file  
    $dati_file = file_get_contents($nome_file_temporaneo);  
   
    // preparo il contenuto del file per la query  
    $dati_file = addslashes($dati_file);  
      
    $msg='';  
      
    if ($_FILES['image']['size'] > 61440) {  
      $msg .="<br /> - Il file non deve superare i 60 KB!<br />";  
        
    }  
      
    // Ottengo le informazioni sull'immagine  
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);  
    // Controllo che le dimensioni (in pixel) non superino 160x180  
    if (($width > 160) || ($height > 180)) {  
      $msg .= "<br /> - Il file pu&ograve; avere un massimo di 150 px di larghezza per 70 px di altezza (consigliata 70px x 150px)!<br /> Se le dimensioni non  
      rientrano utilizzare un programma per il ritocco fotografico<br />";        
    }  
      
      
    //recupero i nomi dei file  
      
    if(!@mysql_select_db('img')){echo "<br />Impossibile selezionare il database delle Immagini in questo momento, se il problmema persiste contattare  
    l'amministratore del sistema<br />". mysql_error();}  
    $sql=mysql_query("SELECT nome FROM tabella_files");  
      
    //preparo l'array che andrà compilato  
    $array=array();  
    while($row=mysql_fetch_array($sql)){  
        $array[]=$row['nome'];  
    }  
      
    $err=0;  
    foreach ($array as $array_confr){  
          
        if($_FILES['image']['name']==$array_confr){  
        $err += 1;  
        }  
      
    }  
      
    if($err>0){$msg .= "<br /> - File già esistente sul server. Rinominarlo e riprovare<br />";}  
      
      
      
      



      
    if($msg==''){  
           
                // query per inserire il file nel DB  
                $query = "INSERT INTO tabella_files SET  
                            nome = '$nome_file_vero',   
                            tipo = '$tipo_file',   
                            dati = '$dati_file'";   
               
                mysql_query($query)  
                OR die('Query non valida: ' . mysql_error());  
                   
                // mostro nuovamente il form ed un messaggio di successo  
                mostra_form("Memorizzazione del file <b>$nome_file_vero</b> nel database eseguita correttamente.");  
    }else{echo "<font color='red'>".$msg. "</font><br /><br />torna <a href='index.php'> indietro </a>";}  
}  

else  
{  
    mostra_form();  
}  
   
/**  
* Mostra il form per l'upload del file   
*   
*/   
function mostra_form($messaggio = '')  
{  
    ?>   
   
    <head>   
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">   
    <title>Carica file nel database</title>   
    </head>   
   
    <p><?php echo $messaggio?> <br /> Seleziona un file da memorizzare nel database: <p></p>   
    <form name="form1" enctype="multipart/form-data" method="post" action="">   
    <p>   
    <input type="file" name="image">   
    <p></p>   
    <p>   
    <input type="submit" name="invia" value="Invia file">   
    <p></p>   
    </form>   
   
   
    <?php   
    exit();  
}  
?>  
</body>  
</html>

image.php

PHP:
<?php   
// connessione e selezione del database  

include_once('connettti.php');  

// query per recuperare il file   
$id = isset($_GET['id']) ? mysql_real_escape_string($_GET['id']) : 0;   
$query = "SELECT * FROM tabella_files WHERE id = {$_GET['id']}";   
$risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());   
$tmp = mysql_fetch_array($risultato);   

// se il file non esiste mostra un errore 404   
if(!mysql_num_rows($risultato))   
{   
    header('HTTP/1.1 404 Not Found');   
    exit();   
}   

// invio una intestazione contenente il tipo MIME   
header('Content-type: '. $tmp['tipo']);   

// invio il contenuto del file   
echo $tmp['dati'];   

?>

pagina dove visualizzo il file

PHP:
<html>  
<head>  
</head>  
<body>  
ciao  

<?php   
include_once('connetti.php');  
   
//ovviamente puoi includere le info dell'utente allgate all'immagine 
// visualizza l'immagine normalmente   
echo "<img src=\"image.php?id={$_GET['id']}\" />";   
?>   

</body>  
</html>

cosa devo cambiare a livello di codice per un db contenente video? E poi devo mettere un player per visualizzare i video? posso fare un'istruzione ciclica per ogni video? il campo della tabella è BLOB ma devo cambiarlo? si devono fare altri tipi di controlli?
Per favore è la prima volta che mi imbatto nella gestione dei video mi serve aiuto!
 
non vedo come una buona soluzione lo storage di video nel database, comunque la procedura da utilizzare è praticamente simile a quella per le immagini.
Per quanto riguarda il player puoi adottare una qualsiasi soluzione basata su jQuery.
 

Discussioni simili