Ciao
posto questo codice perchè non riesco ad uscirne (vivo).
il codice vuole caricare un avatar dall'utente per un'area riservata.
uso safari (3.0.3) e il codice di upload funziona benissimo
ho fatto dei test su win con explorer e non carica niente, mi da l'errore "l file non è di un tipo consentito, sono ammessi solo .jpg e .gif"
mi date una mano? grazie a tutti
Codice PHP:
if (isset($_POST["submittre"]))
{
// Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/imm/utenti";
//Controllo se è un file consentito
$allowed_types = array("image/gif","image/jpeg");
if(trim($_FILES["upfile"]["name"]) == "")
$do_mex_avatar = "<font color='#FF0000'>Non hai indicato il file da uploadare!</font>";
elseif (!in_array($_FILES["upfile"]["type"],$allowed_types))
$do_mex_avatar = "<font color='#FF0000'>Il file non è di un tipo consentito, sono ammessi solo .jpg e .gif</font>";
elseif ($_FILES['userfile']['size'] > 100000)
$do_mex_avatar = "<font color='#FF0000'>File troppo grande, consentiti al massimo 100kb</font>";
else
{
if ($_FILES["upfile"]["type"] == "image/gif") $img_est = ".gif";
if ($_FILES["upfile"]["type"] == "image/jpeg") $img_est = ".jpg";
//cancello il file precedente (sia jpg sia gif)
$NomeDelFile = $_SERVER["DOCUMENT_ROOT"] . "/imm/utenti/" . $id_db . ".gif"; echo ($NomeDelFile);
if (file_exists ($NomeDelFile) == 1) unlink($NomeDelFile);
$NomeDelFile = $_SERVER["DOCUMENT_ROOT"] . "/imm/utenti/" . $id_db . ".jpg"; echo ($NomeDelFile);
if (file_exists ($NomeDelFile) == 1) unlink($NomeDelFile);
// Cambio il nome del file
$new_name = $id_db . $img_est;
$file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
if(@is_uploaded_file($_FILES["upfile"]["tmp_name"]))
{
@move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
or $do_mex_avatar = "<font color='#FF0000'>Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload</font>";
}
else
$do_mex_avatar = "<font color='#FF0000'>Problemi nell'upload del file " . $_FILES["upfile"]["name"] . "</font>";
$do_mex_avatar = "<font color='#006600'>L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente</font>";
}
}
e questo il form di upload:
Codice PHP:
<fieldset style="background-color:#FFFFCC"><a name="last"></a>
<legend>Gestione Avatar</legend>
<form action="http://www.SITO.it/riservata_2/<?php echo($nickname_norm); ?>.html#last" method="post" enctype="multipart/form-data">
Se vuoi cambiare il tuo avatar carica una immagine di tipo .jpg o .gif di dimensione inferiore a 100 kb. Per una migliore visione ti consigliamo una immagine con larghezza e altezza identiche (consigliata 40x40 pixel).
<input type="file" name="upfile">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
<?php echo ($do_mex_avatar)?>
<input type="submit" name="submittre" tabindex="6" value="Carica Avatar" />
</form>
</fieldset>