• User

    upload con password - inserimenzo opzioni files

    Ciao a tutti, devo fare in modo che
    questo odulo per l'upload con password che ora in locale è perfettamente
    funzionante faccia in modo che:

    1. mi arrivi un email di avviso al mio indirizzo di posta [email][email protected][/email]
    2. fare in modo che se si superano i 5 mega si venga effettivamente avvisati e l'upload non venga consentito
    3. in caso di sovrascrittura non venga consentito l'upload
    4. la verifica che si tratti di files jpg

    Ho cercato di inserire queste opzioni nello script ma evidentemente colloco le stringhe in modo sbagliato e probabilmente non riuscendo ancora a leggere il codice combino dei pasticci.

    Vi allego i due files con le opzioni di verifica inserite. Errate perchè se mi collego poi alla pagina di upload vedo lo schermo nero.

    Grazie ancora e buon fine settimana a tutti.

    webbeginner

    index.php (qui ho inserito le opzioni di verifica sui files relativamente alla dimensione che è quella dei 5 mega, mi sembra di capire che va a pescarla nel file config.php)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
    <title>ES Simple Uploader</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta name="generator" content="handmade" />
    <style type="text/css">
    <!--
    body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    background-color: #000000;
    }
    .cnt {
    text-align: center;
    }
    .cnt_welcome {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    }
    .cnt_powered {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    }
    .cnt_small {
    font-size: 12px;
    text-align: center;
    padding-top: 50px;
    }
    .head_line {
    background-color: #BBBBBB;
    }
    .main_table {
    border: solid 1px #9D9992;
    font-size: 13px;
    }
    h4 {
    font-size: 12px;
    color: #DD0000;
    text-align: center;
    }
    .button {
    border: 1px solid #55555;
    font-weight: bold;
    }
    .Stile1 {color: #FFFFFF}
    .Stile3 {font-size: 16px; font-weight: bold; text-align: center; color:; }
    .Stile5 {font-size: x-small; font-weight: bold; text-align: center; color:; font-family: Verdana, Arial, Helvetica, sans-serif; }
    .Stile6 {
    color: #999999;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: x-small;
    font-weight: bold;
    }
    .Stile8 {
    font-weight: bold;
    text-align: center;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: x-small;
    color: #FFFF00;
    }
    a:link {
    color: #FFCC66;
    }
    a:visited {
    color:;
    }
    a:hover {
    color:;
    }
    -->
    </style>
    </head>

    <body>
    <?
    include("config.php");

    function path_options()
    {
    global $upload_dirs;
    $option = "";
    foreach ($upload_dirs as $path => $pinfo)
    {
    $option .= '<option value="'.$path.'">'.$pinfo["name"].'</option>';
    }
    return $option;
    }

    function check_vals()
    {
    global $upload_dirs, $err;
    if (!ini_get("file_uploads")) { $err .= "HTTP file uploading is blocked in php configuration file (php.ini). Please, contact to server administrator."; return 0; }
    $pos = strpos(ini_get("disable_functions"), "move_uploaded_file");
    if ($pos !== false) { $err .= "PHP function move_uploaded_file is blocked in php configuration file (php.ini). Please, contact to server administrator."; return 0; }
    if (!isset($_POST["path"]) || (strlen($_POST["path"]) == 0)) { $err .= "Please fill out path"; return 0; }
    if (!isset($upload_dirs[$_POST["path"]])) { $err .= "Incorrect path"; return 0; }
    if (!isset($_POST["pwd"]) || (strlen($_POST["pwd"]) == 0)) { $err .= "Please fill out password"; return 0; }
    elseif ($_POST["pwd"] != $upload_dirs[$_POST["path"]]["password"]) { $err .= "The upload password is incorrect"; return 0; }
    if (!isset($_FILES["userfile"])) { $err .= "Empty file"; return 0; }
    elseif (!is_uploaded_file($_FILES['userfile']['tmp_name'])) { $err .= "Empty file"; return 0; }
    return 1;
    }

    $err = ""; $status = 0;
    if (isset($_POST["upload"])) {
    if (check_vals()) {
    if (filesize($_FILES["userfile"]["tmp_name"]) > $max_file_size) $err .= "Maximum file size limit: $max_file_size Mb";
    else {
    if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $upload_dirs[$_POST["path"]]["dir"].$_FILES["userfile"]["name"])) {
    $status = 1;
    }
    else $err .= "There are some errors!";
    }

    if (!$status) {
    if (strlen($err) > 0) echo "<h4>$err</h4>";
    }
    else {
    echo "<h4>"".$_FILES["userfile"]["name"]."" was successfully uploaded.</h4>";

    /* Spediamo l'email */
    $_MESS = "C'è una nuova immagine da verificare, il suo nome è ".$_FILES['img']['name'];
    mail($_EMAIL, "Nuova immagine da verificare", $_MESS);
    }

    ?>
    <p class="cnt_welcome"><img src="logonew456x32.gif" width="456" height="38" /></p>
    <p align="center" class="Stile3"> </p>
    <table width="600" border="0" align="center">
    <tr>
    <td><span class="Stile5">Vi preghiamo di richiedere la password a mezzo </span><span class="Stile8"><a href="mailto:[email protected]">email</a></span><span class="Stile5"> precisandoci le vostre esigenze e preferenze. Vi verrà inviata entro breve tempo e vi consentirà di inviarci il vostro file in visione in assoluta sicurezza e senza alcun impegno da parte vostra. </span></td>
    </tr>
    <tr>
    <td><div align="justify" class="Stile6">Please, ask for your password <a href="mailto:[email protected]">here</a> telling us about your preferences. We will give it to you very soon to let you to send your image for a judment in order an eventual restoration. </div></td>
    </tr>
    <tr>
    <td bgcolor="#333333"> <br />
    <form enctype="multipart/form-data" action="index.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="<?=$max_file_size?>" />
    <table class="main_table" align="center">
    <tr>
    <td colspan="2" class="head_line"> </td>
    </tr>
    <tr>
    <td><span class="Stile1">Folder:</span></td>
    <td><select name="path"><?=path_options()?></select></td>
    </tr>
    <tr>
    <td><span class="Stile1">Password:</span></td>
    <td><input type="password" name="pwd" style="width: 217px;" /></td>
    </tr>
    <tr>
    <td><span class="Stile1">Choose file:</span></td>
    <td><input type="file" name="userfile" style="width: 222px;" /></td>
    </tr>
    <tr>
    <td colspan="2" align="right"><input type="submit" name="upload" value="Upload" class="button" /></td>
    </tr>
    </table>
    </form>
    <p class="cnt_powered">
    </td>
    </tr>
    <tr>
    <td> </td>
    </tr>
    </table>
    <div align="center"></div>
    <div align="center"></div>
    <p class="cnt_powered">
    <p class="cnt_powered"><a href="http://www.emiliorescigno.it/sommario.htm" target="_parent"><img src="butto17.jpg" width="104" height="51" border="0" /></a>
    </body>
    </html>

    config.php
    questo è il listato del file config.php (qui ho messo tutte le altre opzioni di verifica: l'invio al mio indirizzo di posta, la verifica sul formato, dimensioni, informazioni immagine, e per evitare la sovrascrittura dei files

    */
    $upload_dirs = array(
    "images" => array(
    "dir" =>"uploads/images/",
    "name" =>"Images folder",
    "password"=>"epofin",

    ),
    );
    /* modifica questa variabile con la tua email */
    $_EMAIL = "[email protected]";

    switch($_GET["a"]){

    case "uploads/images/":
    $max_file_size = 5242880; //max file upload size (Mb)
    /* Verifichiamo che l'immagine non superi i 5 MB */

    if($_FILES['img'] > 5242880) {
    die("Il peso dell'immagine non deve superare i 5 MB!");
    }

    /* Ottengo le informazioni sull'immagine */
    list($width, $height, $type, $attr) = getimagesize($_FILES['img']['tmp_name']);

    /* Controlliamo che l'immagine siamo GIF JPG o PNG */
    if (($type!=1) && ($type!=2) && ($type!=3)) {
    die("Formato non accettabile!!");
    }

    /* Controllo che non esista già un'immagine con lo stesso nome */
    if(file_exists($_PATH.$_FILES['img']['name'])) {
    die("Esiste già un'immagine con lo stesso nome, per favore rinominala e riprova!");
    }

    ?>


  • User

    non c'è nessuno che abbia la competenza per aiutarmi? Questo mi sembra un forum di persone in gamba. Saluti e grazie lo stesso