Ciao, avrei bisogno di un aiutino... dunque, questa la mia funzione "inserisci opera" che prende diversi dati dai campi di un form, tra questi anche un'immagine, e inserisce i dati nel database, uploada l'immagine in una cartella, e salva il percorso dell'immagine nel campo corrispondente del database.
Codice PHP:
function inserisci_opera()
{
// recupero i campi di tipo "stringa"
$titolo = trim($_POST['titolo']);
$descrizione = trim($_POST['descrizione']);
$tecnica = trim($_POST['tecnica']);
$supporto = trim($_POST['supporto']);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if (get_magic_quotes_gpc())
{
$titolo = stripslashes($titolo);
$descrizione = stripslashes($descrizione);
$tecnica = stripslashes($tecnica);
$supporto = stripslashes($supporto);
}
$titolo = mysql_real_escape_string($titolo);
$descrizione = mysql_real_escape_string($descrizione);
$tecnica = mysql_real_escape_string($tecnica);
$supporto = mysql_real_escape_string($supporto);
// recupero gli altri campi del form:
$artistaId = intval($_POST['artistaId']);
$anno = $_POST['anno'];
$altezza = $_POST['altezza'];
$larghezza = $_POST['larghezza'];
$soggetto = $_POST['soggetto'];
// cartella dove salvare le immagini
$query = "SELECT artistaCognome,artistaNome FROM artisti WHERE artistaId ='$artistaId'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$directory = "opere/" . $row['artistaCognome'] . "_" . $row['artistaNome'] . "/";
//costruisco l'array degli errori
$errors = array();
//verifico se il file è stato caricato correttamente
if (!is_uploaded_file($_FILES['immagine']['tmp_name']))
{$errors[] = 'Si sono verificati errori durante l upload.';}
// Se ci sono stampo gli errori
if (count($errors) > 0)
{
echo "[b]Errore durante l'inserimento:[/b]
";
foreach ($errors as $err)
{echo $err . "
";}
}
//altrimenti effettuo l'upload
else
{
$urlimmagine = $directory . $_FILES['immagine']['name'];
//inserisco l'immagine nella directory e se tutto va bene nel database
if (copy($_FILES['immagine']['tmp_name'], $urlimmagine))
{
mysql_query("INSERT INTO opere (artistaId,titolo,anno,tecnica,supporto,altezza,larghezza,descrizione,soggetto,immagine) VALUES
('$artistaId','$titolo','$anno','$tecnica','$supporto','$altezza','$larghezza','$descrizione','$soggetto','$urlimmagine')");
echo "L'opera è stata inserita correttamente";
}
else echo "Si sono verificati errori durante il caricamento dell'opera.";
}
}
dunque, io chiedo umilmente a chi volesse aiutarmi di inserire le righe di codice necessarie per:
- creare una copia ridimensionata dell'immagine passata dal form
- salvare la suddetta copia in una cartella
- inserire il percorso della copia in un campo apposito del database
mi rendo conto che chiedere a qualcuno di fare il lavoro al posto mio non è propriamente corretto, ma nonostante le guide e i tutorial che ho trovato davvero non riesco a farlo...
e purtroppo mi serve per il mio progetto di laurea, e la data dell'appello si sta inesorabilmente avvicinando
Grazie!