Pagina 3 di 8 primaprima 1 2 3 4 5 ... ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 75

Discussione: form invio allegati

  1. #21
    potrebbe essere (al 99%) un problema dello script che hai usato o.0 io ora devo andare a pranzo, magari dopo ti posto quello che avevo fatto io tempo fa o.o

  2. #22
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    50
    qusta è la index cioe dove invio le mail:
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <?php
    if (isset($_SESSION['file']))
    {
      
    $a $_SESSION['file'];
      print (
    '

    [url="http://beck.altervista.org/upload_img/'
    .$a.'"]'.$a.'[/url]</p>');
      print (
    '<form action="upload.php" method="post" enctype="multipart/form-data">
      
      <input name="image" type="file" size="40" />
      


      
      <input name="upload" type="submit" value="Carica immagine" />
      </form>'
    );
    }
    else
    {
      print (
    '<form action="upload.php" method="post" enctype="multipart/form-data">

    <input name="image" type="file" size="40" />




    <input name="upload" type="submit" value="Carica immagine" />
    </form>'
    );
    }
    ?> 
    </head>

    <body>


    <form action="formmail2.php" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="destinatario" value="davidebeccaro@gmail.com">
    <table border="0">
    <tr>
      <td>Tua Mail:</td>
      <td><input type="text" name="mittente" value="" /></td>
    </tr>
    <tr>
      <td>Oggetto:</td>
      <td><input type="text" name="oggetto" value="" /></td>
    </tr>
    <tr>
      <td>Messaggio:</td>
      <td><textarea cols="20" rows="4" name="messaggiob"></textarea>
    </textarea></td>
    </tr>
    <tr>
      <td>Messaggio:</td>
      <td><textarea cols="20" rows="4" name="messaggioc"></textarea>
    </textarea></td>
    </tr>
    <tr>
      <td>Messaggio:</td>
      <td><textarea cols="20" rows="4" name="messaggiod"></textarea>
    </textarea></td>
    </tr>
    <tr>
      <td>Allega file:</td>
      <td><input type="file" name="allegatoa" /></td>
    </tr>
    <tr>
      <td>Allega file:</td>
      <td><input type="file" name="allegatob" /></td>
    </tr>
    <tr>
    <tr>
      <td colspan="2">
          <table>
            <tr>
                <td><input type="submit" value="Invia" /></td>
                <td><input type="reset" value="cancella"></td>
            </tr>
        </table></tr>
    </table>
    </form>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        
        <input name="image" type="file" size="40" />
        


        
        <input name="upload" type="submit" value="Carica immagine" />
    </form>
    </body>
    </html>
    Questa è la pagina di invio delle mail:
    Codice PHP:
    <?php
    // Recupero il valore dei campi del form
    $destinatario $_POST['destinatario'];
    $mittente $_POST['mittente'];
    $oggetto $_POST['oggetto'];
    $messaggioa $_POST['messaggiob'];
    $messaggiob $_POST['messaggioc'];
    $messaggioc $_POST['messaggiod'];


    // Valorizzo le variabili relative all'allegato
    $allegatoa $_FILES['allegatoa']['tmp_name'];
    $allegatoa_type $_FILES['allegatoa']['type'];
    $allegatoa_name $_FILES['allegatoa']['name'];

    $allegatob $_FILES['allegatob']['tmp_name'];
    $allegatob_type $_FILES['allegatob']['type'];
    $allegatob_name $_FILES['allegatob']['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($allegatoa))
    {
      
    // Apro e leggo il file allegato
      
    $filea fopen($allegatoa,'rb');
      
    $dataa fread($fileafilesize($allegatoa));
      
    fclose($filea);
      
      
    // Adatto il file al formato MIME base64 usando base64_encode
      
    $dataa chunk_split(base64_encode($dataa));

      
    // 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=\"iso-8859-1\"\n";
      
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      
    $msg .= "A_$messaggioa-----B_$messaggiob-----C_$messaggioc"\n\n";

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

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


      
    // chiudo con il separatore
      
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
      
    $msg "A_$messaggioa-----B_$messaggiob-----C_$messaggioc;
    }

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegatob))
    {
      
    // Apro e leggo il file allegato
      
    $fileb fopen($allegatob,'rb');
      
    $datab fread($filebfilesize($allegatob));
      
    fclose($filea);
      
      
    // Adatto il file al formato MIME base64 usando base64_encode
      
    $datab chunk_split(base64_encode($datab));

      
    // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      
    $semi_randb md5(time());
      
    $mime_boundaryb "==Multipart_Boundary_x{$semi_randb}x";
      
      
    // Aggiungo le intestazioni necessarie per l'allegato
      
    $headersb .= "\nMIME-Version: 1.0\n";
      
    $headersb .= "Content-Type: multipart/mixed;\n";
      
    $headersb .= " boundary=\"{$mime_boundaryb}\"";

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

      
    // Metto il separatore
      
    $msgb .= "--{$mime_boundaryb}\n";

      
    // Questa è la parte "testuale" del messaggio
      //$msgb .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      //$msgb .= "Content-Transfer-Encoding: 7bit\n\n";
      //$msgb .= "A_$messaggioa-----B_$messaggiob-----C_$messaggioc" . "\n\n";

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

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


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

    // Invio la mail
    if (mail($destinatario$oggetto$msg$msgb$headers))
    {
      echo 
    "

    Mail inviata con successo!</p>"
    ;
    }else{
      echo 
    "

    Errore!</p>"
    ;
    }
    (
    $_SESSION['file']);
    ?>

    e questa invece è la pagina che fa l'upload alla cartella upload_img:
    Codice PHP:
    <?php
    do {
      if (
    is_uploaded_file($_FILES['image']['tmp_name'])) {
        
    // Controllo che il file non superi i 60 KB
        
    if ($_FILES['image']['size'] > 60000) {
          
    $msg "

    Il file non deve superare i 18 KB!!</p>"
    ;
          break;
        }
        
    // Ottengo le informazioni sull'immagine
        
    list($width$height$type$attr) = getimagesize($_FILES['image']['tmp_name']);
        
    // Controllo che le dimensioni (in pixel) non superino 160x180
        //if (($width > 160) || ($height > 180)) {
       //   $msg = "

    Dimensioni non corrette!!</p>";
        //  break;
       // }
        // Controllo che il file sia in uno dei formati GIF, JPG o PNG
        if ((
    $type!=1) && ($type!=2) && ($type!=3)) {
          
    $msg = "

    Formato non corretto!!</p>";
          break;
        }
        // Verifico che sul sul server non esista già un file con lo stesso nome
        // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
        if (file_exists('upload_img/'.
    $_FILES['image']['name'])) {
          
    $msg = "

    File già esistente sul serverRinominarlo e riprovare.</p>";
          break;
        }
    // Sposto il file nella cartella da me desiderata
    if (!move_uploaded_file(
    $_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
    $msg = "

    Errore nel caricamento dell'immagine!!</p>";
    break;
    }
    }
    } while (false);
    echo $msg;
    $_SESSION['
    file'] = $_FILES['image']['name'];
    header('
    Location:index.php');

    ?>
    grazie

  3. #23
    la pagina dell'upload in che cartella è rispetto alla cartella upload_img ?

  4. #24
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    50
    è allo stesso livello,
    praticamente ho:

    index.php
    upload.php
    formmail2.php
    upload_img

    praticamente tutti sullo stesso livello

  5. #25
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    50
    Vai pure a mangiare perchè adesso ci vado pure io,
    Dopo mi dici di dove sei che se stiamo vicini ti pago da bere per tutta la pazienza che porti con me

  6. #26
    Torino lol xD

    dopo pranzo sistemo e ti posto il mio script o.0 (vecchiotto ma funziona)

  7. #27
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    50
    Sei troppo distante perchè sono da padova e grazie

  8. #28
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    50
    hai finito di mangiare?
    mi daresti una mano?

  9. #29
    pagina che fa l'upload

    Codice PHP:
    <?php
    $upload_dir 
    $_SERVER["DOCUMENT_ROOT"] . "/upload_img";
    $new_name "";
    $file_name = ($new_name) ? $new_name $_FILES["upfile"]["name"];
    if(
    trim($_FILES["upfile"]["name"]) == ""
        {
            die(
    "Non hai indicato il file da uploadare !");
        }
    if(@
    is_uploaded_file($_FILES["upfile"]["tmp_name"])) 
        {
            @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name"
            or die(
    "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare         l'upload.");
        } 
    else 
        {
            die(
    "Problemi nell'upload del file " $_FILES["upfile"]["name"]);
        }
    session_start();
    $_SESSION['file'] = $_FILES["upfile"]["name"];
    header('Location: index.php');
    ?>
    Pagina del form
    Appena inizi la parte in php della pagina
    Codice PHP:
    session_start(); 
    dove preferisci inserisci il seguente codice php (ti consiglio di metterlo tra i due form)

    Codice PHP:
    <?php
     
    if (isset($_SESSION['file']))
    {
    $var_upload $_SESSION['file'];
     print (
    '

    [url="upload_img'
    .$var_upload.'"]Allegato[/url]</p>');
    }
    ?>

  10. #30
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    50
    é giusta la scrittura della pagina index?

    Codice PHP:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>

    </head>

    <body>


    <form action="formmail2.php" method="POST" enctype="multipart/form-data" session_start()>
    <input type="hidden" name="destinatario" value="davidebeccaro@gmail.com">
    <table border="0">
    <tr>
      <td>Tua Mail:</td>
      <td></td>
    </tr>
    <tr>
      <td>Oggetto:</td>
      <td><input type="text" name="oggetto" value="" /></td>
    </tr>
    <tr>
      <td>Messaggio:</td>
      <td><textarea cols="20" rows="4" name="messaggiob"></textarea>
    </textarea></td>
    </tr>
    <tr>
      <td>Messaggio:</td>
      <td><textarea cols="20" rows="4" name="messaggioc"></textarea>
    </textarea></td>
    </tr>
    <tr>
      <td>Messaggio:</td>
      <td><textarea cols="20" rows="4" name="messaggiod"></textarea>
    </textarea></td>
    </tr>

    <tr>
    <tr>
      <td colspan="2">
          <table>
            <tr>
                <td><input type="submit" value="Invia" /></td>
                <td><input type="reset" value="cancella"></td>
            </tr>
        </table></tr>
    </table>
    </form>
    <?php
    if (isset($_SESSION['file']))
    {
    $var_upload $_SESSION['file'];
    print (
    '

    [url="upload_img'
    .$var_upload.'"]Allegato[/url]</p>');
    }
    ?> 
    <form action="upload.php" method="post" enctype="multipart/form-data">
        
        <input name="image" type="file" size="40" />
        


        
        <input name="upload" type="submit" value="Carica immagine" />
    </form>
    </body>
    </html>

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.