Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    38

    il mio form allega solo file di piccole dimensioni

    Ciao, questo è il file php che utilizzo (lo riporto per intero):

    <?php
    // Recupero il valore dei campi del form
    $destinatario = $_POST['destinatario'];
    $mittente = $_POST['mittente'];
    $oggetto = $_POST['oggetto'];
    $messaggio = $_POST['messaggio'];
    $nomeprinc = $_POST['nomeprinc'];
    $cognomeprinc = $_POST['cognomeprinc'];
    $indirizzoprinc = $_POST['indirizzoprinc'];
    $cittaprinc = $_POST['cittaprinc'];
    $codiceprinc = $_POST['codiceprinc'];
    $telefonoprinc = $_POST['telefonoprinc'];
    $cellulareprinc = $_POST['cellulareprinc'];
    $mittente_r = $_POST['mittente_r'];
    $esperienza = $_POST['esperienza'];


    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];

    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: " . $mittente;
    $msg = "";

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);

    // Adatto il file al formato MIME base64 usando base64_encode
    $data = chunk_split(base64_encode($data));

    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separerà la parte testuale dall'allegato
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Questa è la parte "testuale" del messaggio
    $msg .= "Content-Type: text/plain; charset=\"UTF-8\"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= "Nome:\t$nomeprinc\n";
    $msg .= "Cognome:\t$cognomeprinc\n";
    $msg .= "Indirizzo e numero civico:\t$indirizzoprinc\n";
    $msg .= "Città:\t$cittaprinc\n";
    $msg .= "Codice postale:\t$codiceprinc\n";
    $msg .= "Telefono:\t$telefonoprinc\n";
    $msg .= "Cellulare:\t$cellulareprinc\n";
    $msg .= "E-mail:\t$mittente_r\n";
    $msg .= "Anni di esperienza:\t$esperienza\n";
    $msg .= "Presentazione:\t$messaggio\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Aggiungo l'allegato al messaggio
    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename=\"{$allegato_name}\"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data . "\n\n";

    // chiudo con il separatore
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
    $msg = $messaggio;
    }

    // Invio la mail
    if (mail($destinatario, $oggetto, $msg, $headers))
    {
    echo "<div style='text-align: center;'>La tua proposta di candidatura è stata inoltrata con successo. Ora fai parte della nostra banca dati e in caso di necessità sarai ricontattato da un nostro operatore. Grazie.</div>";
    echo "<meta http-equiv='Refresh' content='15; URL=http://www........>";
    }else{
    echo "

    Errore!</p>";
    }
    ?>

    Grazie anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    38
    forse devo inserire un "segnalatore dello stato di avanzamento del caricamento file"?
    ...scusate il linguaggio....

  3. #3
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    38
    Grazie, ma un po' per l'inglese, e soprattutto per la mia ignoranza su php, non è che abbia capito molto leggendo il link che mi hai suggerito.
    Tra l'altro ho anche un dubbio...quella guida va bene per windows?
    Io ho capito quanto segue.
    1. riprendo il mio file e ci incollo (dove voglio grossomodo) i seguenti codici:
    memory_limit = 32M
    upload_max_filesize = 10M
    post_max_size = 20M

    2. poi salvo il file cambiando l'estensione in php.ini

    Tuttavia non credo funzioni. Mi puoi dare qualche altro suggerimento?
    Grazie

  5. #5
    Quelle stringhe ci sono già nel file php.ini

    Trovale e modificale come suggerito!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    38
    Grazie per la risposta, ma mi continua ad essere poco chiaro il da farsi.
    Premetto che non utilizzo alcun data base e il file con estensione .ini non ce l'ho...il mio ha estensione .php (probabilmente dico stupidagini e sono la stessa cosa...bo...)
    Detto questo dove vado ad inserire quei 3 codici? Forse in :

    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    ......
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);

    ma trovo solo "filesize"....che tra l'altro non so come modificare.
    Potete aiutarmi?

  7. #7
    segui il metodo #2 del link che ti ho dato. Se proprio non lo sai l'inglese, usa il traduttore di google. ti dici cmq di fare un file chiamato .htaccess da mettere nella root del tuo sito con quei codici scritti li
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    38
    Forse ho risolto....
    Ti dico quello che ho fatto.
    Ho aperto un file blocco note, ci ho copiato dentro i seguenti codici:
    php_value upload_max_filesize 10M
    php_value post_max_size 20M
    php_value memory_limit 32M
    e l'ho rinominato .htaccess (senza nome, ma solo con l'estensione).
    Ho copiato tale file nella directory del sito (in pratica in mezzo agli altri file html, php, etc) e basta.
    Il mio file .php non l'ho proprio toccato....
    Sembra funzionare....mi dai conferma che ho fatto bene?...
    Grazie e scusa se sono un po' trullo.

  9. #9
    Originariamente inviato da rico76
    Grazie e scusa se sono un po' trullo.
    alleluja
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.