Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    move_uploaded_file restituisce true senza svolgere il suo lavoro!

    Ho questo codice
    $db = connetti_db($db_host, $db_user, $db_password, $db_name);
    //Uppa il file
    $query = "SELECT MAX(id) AS id FROM file";
    $row = mysql_fetch_array(mysql_query($query, $db));
    if (move_uploaded_file($_FILES['file']['tmp_name'], '../download/'.($row['id']+1).'.ext')) {
    $query = "INSERT INTO file ( titolo , descrizione , nome_file , tipo , dimensione , data_inserimento ) VALUES ( '".$_POST['titolo']."' , '".$_POST['descrizione']."' , '".$_FILES['file']['name']."' , '".$_FILES['file']['type']."' , '".$_FILES['file']['size']."' , '".time()."' )";
    if (mysql_query($query, $db)) {
    $intestazione = $amministrazione['upload_file'];
    $messaggio = $amministrazione['file_uploadato'];
    $indietro = 'upload.php';
    include('../templates/amministrazione/conferma.php');
    }
    else {
    echo mysql_error($db);
    }
    }
    else {
    $intestazione = $amministrazione['upload_file'];
    $messaggio = $amministrazione['errore_upload'];
    $indietro = 'upload.php';
    include('../templates/amministrazione/conferma.php');
    }
    mysql_close($db);
    Dovrebbe uppare semplicemente i file...
    e invece non lo fa!
    O meglio, a volta funzione, a volte no :|
    infatti se metto un file_exists davanti a move_uploaded_file nella condizione dell'if, mi restituisce l'errore, altrimenti prosegue tranquillo...

  2. #2
    Esegui prima la query di inserimento, poi utilizzando mysql_insert_id() ottieni l'ID del record ed utilizzi quello come nome del file. Se poi move_uploaded_file() fallisce, esegui una query di eliminazione del record inserito. Inoltre, è meglio utilizzare path assoluti invece che relativi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.