Salve,
ho un grattacapo.
Ho fatto unop script che allega dei file a più utenti memorizzati precedentemente in un DB.
Il problema è che il file viene allegato solo al primo utente e dopo si blocca tutto. Ecco il codice:
<?php
//connessione
,,,
//allega aolo a quelli che hanno il campo a X
$search_ag = "SELECT ... FROM ... WHERE campo = 'X'";
$res_ag = mysql_query($search_ag);
if(!$res_ag)
die ("Error Sql: search_ag");
for ($i = 0; $i < mysql_num_rows($res_ag); $i++) {
$nome = mysql_result($res_ag, $i, "nome");
$cognome = mysql_result($res_ag, $i, "cognome");
$username = mysql_result($res_ag, $i, "username");
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;
$path = $nome . "_" . $cognome;
$dir = "C:/web/dir/$path";
@mkdir ($dir, 0);
//Se $new_name è vuota, il nome sarà lo stesso del file uploadato
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
if(trim($_FILES["upfile"]["name"]) == "") {
echo "Non hai scelto il file da allegare";
}
if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
$allowed_types = array("application/pdf");
if(!in_array($_FILES["upfile"]["type"], $allowed_types)) {
echo "Il file non è di un tipo consentito";
}
else {
if(!@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")) {
echo "Directory inesistente";
}
}
}
else {
echo "Problemi: Controllare il nome o l\'estensione del file";
}
}//end for
?>
In pratica al primo giro mi allega il file, mentre al secondo, stampa:
"Problemi: Controllare il nome o l\'estensione del file".
Dove sbaglio?
Grazie