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