prova con questo
questo ti fa lupload multiplo
Codice PHP:
// QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
// DI PHP PRECEDENTI ALLA 4.1.0
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
/********************* VARIABILI DA SETTARE ********************/
//Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
//$upload_dir =$_SERVER["DOCUMENT_ROOT"] . "/upload";
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
}
$upload_dir=stripslashes($_POST['dir']);
// Eventuale nuovo nome da dare al file uploadato
$new_name = "";
// Se $new_name è vuota, il nome sarà lo stesso del file uploadato
$file_name = ($new_name) ? $new_name : $_FILES["pictures"]["name"][$key];
if(trim($_FILES["pictures"]["name"][$key]) == "") {
die("Non hai indicato il file da uploadare!");
}
/*
//si controlla il tipo
$allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");
}
*/
if(is_uploaded_file($_FILES["pictures"]["tmp_name"][$key])) {
move_uploaded_file($tmp_name, "$upload_dir/$name")
or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");
} else {
die("Problemi nell'upload del file " . $_FILES["pictures"]["name"][$key]);
}
echo "L'upload del file " . $_FILES["pictures"]["name"][$key] . " è avvenuto correttamente";
//query per dove uploadare i file
}
per quanto riguarda il tuo punto n° 2, per salvRE IL PATH DEL FILE SALVA IL PERCORSO RELATIVO E NON ASSOLUTO