Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    162

    problema overwrite immagine con upload file

    Salve ragazzi, volevo un consiglio riguardo questo "semplice" ma fastidioso problemino che sto avendo.
    Per farla breve...ho scritto un codice che mi permette di gestire testi e immagini (un piccolo admin)
    Il problema è che non riesco a filtrare bene i file che vengono uploadati.
    Non riesco a bloccare il processo di upload quando l'utente scarica un file (identico) ad un altro file già esistente nella cartella del upload.

    $desc = (rtrim (strip_tags (stripslashes (strtolower (htmlentities ($_POST ['desc' ]))))));
    $path = $_POST ['avatarfile' ];
    $pubb = ['pubblica' ];

    $conn = mysql_connect ("localhost" ,"root" ,"" );
    $db = mysql_select_db ("upload" ,$conn)or die ("Problemi con la connessione" . mysql_error() );

    $query="Select path from upimage WHERE path='" . $path. "'" ;

    $risp = mysql_query ($query, $conn) or die ("Errore nella query: " . mysql_error() );
    $array= mysql_fetch_array ($risp);
    Qui la connessione al database, la query che mi estrae solo il path(campo della tabella) uguale al valore che viene passato dalla variabile del form "avatarfile" e il ciclo mysql_fetch_array per la verifica ciclica.

    Qui sotto invece l'if che mi crea i problemi. Mi fa uploadare lo stesso l'identico file.

    if ($array[ path] === "$path" )
    {
    echo "File già esistente! - <a href=\"upload_form.html\">back</a>" ;
    exit() ;
    }

    else
    {

    if ($_FILES ['avatarfile' ]['error' ] == UPLOAD_ERR_OK )
    {

    $ext = strtolower (pathinfo ($_FILES ['avatarfile' ]['name' ],
    PATHINFO_EXTENSION ));
    switch ($ext)
    {

    case 'jpg' : case 'jpeg' :
    $fileType = 'image/jpeg';
    break;
    case 'gif':
    $fileType = 'image/gif' ;
    break;
    case 'png':
    $fileType = 'image/png' ;
    break;
    case 'bmp':
    $fileType = 'image/bmp' ;
    break;
    default:
    echo "File non valido - <a href=\"upload_form.html\">back</a>" ;
    exit() ;

    }


    $destfile = './images/' .basename ($_FILES ['avatarfile' ]['name' ]);
    $ret = @move_uploaded_file ($_FILES ['avatarfile' ]['tmp_name' ], $destfile);

    $fsize = filesize ($destfile);


    $ins = mysql_query ( "insert into upimage(path,size,testo,pubblica,data) VALUES (\"$destfile\",\"$fsize\",\"$HTTP_POST_VARS[desc]\",\"$pubb\",now())" ) ;
    }
    }

    Aspetto vostri consigli
    Grazie mille
    Lothlorien

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    162
    Verificando meglio il codice che ho postate ho notato che se attribuisco alla variabile $path il valore dell'input avatarfile la condizione non potrà mai essere vera in quanto il valore che passa attraverso l'input non è uguale a quello inserito nel database. Per ovviare ho provato ad attribuire alla variabile "$path" la variabile "$destfile" ($path = $destfile) che contiene il nome esatto che verrà poi copiato nel database. Purtroppo però la modifica non ha dato esito positivo. Il sistema continua a non filtrare bene gli upload.

    consigli?
    Lothlorien

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    162
    up
    Lothlorien

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.