Ho fatto una funzione che mi permette di caricare dei file sul server
aggiornando la tabella articoli del database dove è presente l'immagine.
Codice PHP:
function upload($table, $id)
{
global $url_img, $max_size, $type_file, $msg;
$file_keys = array_keys($_FILES);
for($i = 0; $i <= count($file_keys) - 1; $i++)
{
if($_FILES[$file_keys[$i]]['size'] > 0)
{
// cambio nome per ogni immagine caricata
$unique_id = md5(uniqid(time()));
$unique_id = substr($unique_id,0,7);
$file = $unique_id.'_'.$_FILES[$file_keys[$i]]['name'];
// controllo il tipo di file
if(!in_array($_FILES[$file_keys[$i]]['type'], $type_file))
{
$msg = $_FILES[$file_keys[$i]]['type'] . " non è valido ";
exit;
}
// controllo la dimensione massima
if($_FILES[$file_keys[$i]]['size'] / 1024 > $max_size)
{
$msg = $_FILES[$file_keys[$i]]['name'] . " è troppo grande. ";
exit;
}
// carico il file nel server e aggiorno il database.
move_uploaded_file($_FILES[$file_keys[$i]]["tmp_name"], "$url_img/" . $file);
mysql_query("UPDATE $table SET $file_keys[$i]='$file' WHERE id='$id'");
}
}
}
Quando inserisco un immagine basta che richiamo la funzione
upload("NOME DELLA TABELLA ARTICOLI, ID ARTICOLO");
Funziona tutto a meraviglia.. un piccolo e strano particolare..
una volta caricate le immagini nel server non riesco + a scaricarle via FTP!!!
mi da' uno strano errore, sembra che non riconosce il file..
strano perchè via internet le immagini si vedono.
Da cosa può dipendere??