• User

    Errori parziali upload foto in fomato jpeg

    Ciao a tutti,

    chiedo il vostro aiuto per un problema che mi sembra strano. Non sono esperto, ma con l'aiuto dei vari messaggi e tutorials ho messo insieme delle pagine per l'upload di fotografie nel solo formato jpeg.

    Sembrava funzionare tutto perfettamente, ma stranamente se carico alcune immagini jpeg ottenute modificando l'originale con photoshop ottengo errori di caricamento (ma non sempre).

    In alcuni casi l'errore è che il formato non è corretto, in altri - la maggioranza - ottengo una undefined variable, come se il file del form non trasmettesse i dati. Non ho trovato nulla di simile ricercando nel web con i motori di ricerca. Allego il form ed il relativo file di upload. Spero che qualcuno mi possa aiutare. Grazie.
    NB: ho definito come max 8MB e 24fotografie. Nei casi specifici questi parametri non sono superati.

    File upload

    <?php
    // Includo la connessione al database
    require ('config.php');
    // Se non è stata definita la variabile manda l'utente alla homepage
    if (!isset($_SESSION['login']))
    {
    header('Location: start.php');
    exit;
    }
    ?>
    <?php
    ini_set("memory_limit", "128M");
    $user = $_SESSION['user'];
    $query = "SELECT nome FROM utenti where user='$user'";
    $nome = mysql_query($query);
    $nome = mysql_result($nome, 0);
    $query = "SELECT cognome FROM utenti where user='$user'";
    $cognome = mysql_query($query);
    $cognome = mysql_result($cognome, 0);
    $nomefoto = $_POST['nomefoto'];
    $descrizione = $_POST['descrizione'];
    $uploadedfile_name = $_FILES["uploadedfile"]["tmp_name"];
    $uploadedfile = $_FILES["uploadedfile"]["name"];
    $tipo_file = $_FILES["uploadedfile"]["type"];
    $size = $_FILES["uploadedfile"];
    $error = $_FILES["uploadedfile"]["error"];
    echo ("codice di errore "). $error;
    echo (" dimensione del file "). $size;
    echo ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD php 4.01 Transitional//EN">');
    echo ('<head>');
    echo ('<meta http-equiv="content-type" content="text/php;charset=windows-1252">');
    echo ('<meta http-equiv="Content-Language" content="it">');
    echo ('<link href="ibd.css" type=text/css rel=stylesheet>');
    echo ('<link rel="shortcut icon" href="favicon.ico" >');
    echo ('<link rel="icon" type="image/gif" href="animated_favicon1.gif" >');
    echo ('</head><body>');
    include ("top.php");
    echo ('<td width="500" bgcolor="#ffffff">');
    echo ('<div style="padding-left:5px; padding-right:5px ">');

    echo ('<br />');
    // verifica dimensione del file < 8MB
    if ($error == 2)
    {
    echo ("<div id='corpo' color: #0000FF style='font-size: larger'; >");
    echo ("<u>Attenzione! Dimensione file eccessiva</u><br /<br />");
    echo ('</div>');
    echo ("<div id='corpo' color:; >");
    echo ("Hai superato la dimensione massima di 8MB<br /><br />Riprova");
    echo ('</div>');
    echo ('</div>');
    echo ('</td>');
    include ("bottom.php");
    echo '<meta http-equiv="Refresh" content="5; fotoindex.php">';
    exit();
    }
    // verifica che il formato sia jpeg
    if ($tipo_file == "image/pjpeg" || $tipo_file == "image/jpeg")
    {
    } else
    {
    echo ("<div id='corpo' color: style='font-size: larger'; >");
    echo ("<u>Attenzione! Formato immagine non ammesso</u><br /<br />");
    echo ('</div>');
    echo ("<div id='corpo' color:; >");
    echo ("E' possibile caricare solo formati jpg/jpeg<br /><br />Riprova");
    echo ('</div>');
    echo ('</div>');
    echo ('</td>');
    include ("bottom.php");
    echo '<meta http-equiv="Refresh" content="5; fotoindex.php">';
    exit();
    }
    //limitazione sul numero massimo di fotografie consentite (24)
    $stringa = "SELECT * FROM fotoutenti WHERE user='$user' ORDER BY idf ASC";
    $result = mysql_query($stringa);
    $num = mysql_num_rows($result);
    if ($num > 23)
    {
    echo ("<div id='corpo' color: style='font-size: larger'; >");
    echo ("<u>Attenzione! Hai superato il numero massimo di fotografie consentite</u><br /<br />");
    echo ('</div>');
    echo ("<div id='corpo' color:; >");
    echo ("In questa fase sperimentale puoi caricare solo fino a 24 fotografie. Se desideri inserirne di più contatta il webmaster<br /><br />
    Stai per essere reindirizzato al tuo fotoalbum");
    echo ('</div>');
    echo ('</div>');
    echo ('</td>');
    include ("bottom.php");
    echo '<meta http-equiv="Refresh" content="6; fotodb.php">';
    exit();
    }

    if (isset($_FILES['uploadedfile']['name']))
    {
    echo '';
    } else
    {
    echo 'Errore: file non trovato';
    die;
    }
    // da qui codice di uploadfile
    $target_path = "images/big/"; //direcory salvataggio immagini grandi
    $target_path = $target_path . basename($uploadedfile);
    //echo ("<br/><br/>");
    //echo $target_path;
    //Carico l'immagine grande sul server
    if ($uploadedfile <> "none")
    {
    if (!copy($uploadedfile_name, $target_path))
    {
    print ("Errore nel caricamento dell'immagine.<br>");
    } else
    {
    print ("Caricamento immagine eseguito correttamente");
    print ("<br>");
    print ("$target_path");
    print ("<br>");
    print ("Vai al database immagini");
    print ("<a href ='fotodb.php'>clicca qui</a>");
    }
    }

    File del form
    =================<form name="form1" enctype="multipart/form-data" method="post" action="fotoriceve.php">
    <table width="48%" border="0" cellspacing="3" cellpadding="3">
    <tr>
    <td width="38%">
    <div align="right">nome foto</div>
    </td>
    <td width="62%">
    <input type="text" name="nomefoto" />
    </td>
    </tr>
    <tr>
    <td width="38%">
    <div align="right">descrizione</div>
    </td>
    <td width="62%">
    <input type="text" name="descrizione" />
    </td>
    </tr>
    </table>
    <input type="hidden" name="max_file_size" value="8200000" />
    <input name="uploadedfile" type="file" id="uploadedfile" />
    <br /><br />
    <input type="button" name="Submit" value="Invia" onclick="if(form1.uploadedfile.value.length==0) alert('Nessun file selezionato'); else form1.submit();" />
    </form>