Avatar billede michaelb.dk Nybegynder
17. marts 2003 - 16:21 Der er 4 kommentarer og
2 løsninger

Vedhæft fil!

Hej.
Jeg er ligeglad om det bliver javascript, asp eller php... Jeg skal bare have en formular, hvor jeg kan vedhæfte en fil... (okay helst asp, eller javascript)

Forstås spørgsmålet?
Mvh. Michaelb.dk
Avatar billede michaelb.dk Nybegynder
17. marts 2003 - 16:24 #1
Ps, jeg kan ikke rigtig få Jmail til at virke på min b-one hosting...
Avatar billede schaefner Juniormester
18. marts 2003 - 11:30 #2
Avatar billede michaelb.dk Nybegynder
18. marts 2003 - 16:48 #3
Hej. Det virker og jeg er utrolig taknemmelig! Nu er mit spørgsmål bare:

Hvis, jeg skal sende tre forskellige filer, hvad gør jeg så?

Jeg viser lige hele min kildekode nedenunder:
Avatar billede michaelb.dk Nybegynder
18. marts 2003 - 16:48 #4
<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<script type="text/javascript">
<!-- Dette script og mange flere -->
<!-- findes hos http://www.html.dk -->
<!-- Start

function popup(url,name,win_height,win_width) {
    pos_horizon = ((screen.width/2)-(win_width/2));
    pos_vertical = ((screen.height/2)-(win_height/2));
    window.open(url,name,"width="+win_width+",height="+win_height+",top="+pos_vertical+",left="+pos_horizon);
    }

// Slut -->
</script>

<style>
Body,TD { font-size: 10pt;
          font-family: Verdana;
          color: #000000;
      cursor: default}

A:link { color: #757E86;   
          text-decoration: none
      cursor: default}

A:visited { color: #757E86;
          text-decoration: none
      cursor: default}

A:active { color: #757E86;
          text-decoration: none
      cursor: default}

A:hover { color: #333333;
          text-decoration: none}
</style>

<STYLE type="text/css">
<!--
BODY
{
scrollbar-face-color: #639DCF;
scrollbar-highlight-color: #1C4F7A;
scrollbar-3dlight-color: #1C4F7A;
scrollbar-darkshadow-color: #1C4F7A;
scrollbar-shadow-color: #639dcf;
scrollbar-arrow-color: #666699;
scrollbar-track-color: #C9D7E6;
}
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- Idea by:  Nic Wolfe (Nic@TimelapseProductions.com) -->
<!-- Web URL:  http://fineline.xs.mw -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=510,height=500');");
}
// End -->
</script>

</head>

<body bgcolor="#ffffff">

<center><b><font color="#666699">Nominer dit eget dyr!</font></b></center><br>
Udfyld nedenstående formular, og Indsend. Du vil modtage en mail fra Dagens Dyr så snart din nominering er gennemlæst.<br><br>

<?php
// Hvis formen er submitted
if ($_GET['send']){
   
    // Definér $boundary
    // boundary er en unik streng der identifiserer vores email
    $boundary = uniqid("");
   
    // Hvis filtypen genkendes af browseren, sætter vi mime-typen til filtypen
    if ($_FILES['filen']['type']) {
        $mimeType = $_FILES['filen']['type'];
       
    // Ellers, sætter vi mime-type til ukendt
    } else {
        $mimeType =  "application/unknown";
    }
   
    // Læs filen ind i en variable
    $fil_var = fread(fopen($_FILES['filen']['tmp_name'], "r"), filesize($_FILES['filen']['tmp_name']));
   
    // Gør filen læsevenlig for email-klienten
    $fil_var = base64_encode($fil_var);
   
    // Split filkoden op i linier med 76 tegn i hver
    $fil_var = chunk_split($fil_var);
   
    // Følgende lille stykke klarer det meste mht. headers, der fortæller email-klienten hvad der er på vej

    // Vi sætter vores unikke streng ind her
    $body  = "\n--$boundary\n";
   
    // Vi fortæller at følgende stump er af typen text/plain samt
    // hvilket tegnsæt vi bruger
    $body .= "Content-type: text/plain; charset=iso-8859-1\n";
    $body .= "Content-transfer-encoding: 8bit\n\n";
   
    // Vi sætter body-texten ind her
    $body .= $_POST['dyr-navn']."\n\n";
    $body .= $_POST['dyr-race']."\n\n";
    $body .= $_POST['dyr-alder']."\n\n";
    $body .= $_POST['valg']."\n\n";
    $body .= $_POST['body_text']."\n\n";
    $body .= $_POST['ejer-navn']."\n\n";
   
   
    // Slut på brødteksten
    $body .= "--$boundary\n";
   
    // Så er det filens tur
    // Vi fortæller lige mime-typen og filnavnet
    $body .= "Content-type: $mimeType; name=".$_FILES['filen']['name']."\n";
   
    // Fortæller at vi vil have filen hæftet ved - ikke direkte i mailen.
    // Vil du gerne have den direkte i mailen, ændres 'attachment' til 'inline'
    // Bemærk: Bl.a. OE viser _også_ filen i selve mailen selvom du angiver 'attachment'
    $body .= "Content-disposition: attachment; filename=".$_FILES['filen']['name']."\n";
   
    // Klienten skal have at vide at meddelelsen er encoded med base64
    $body .= "Content-transfer-encoding: base64\n\n";
   
    // Vi sætter filkoden ind
    $body .= $fil_var."\n\n";
   
    // Vi slutter af med den samme unikke streng som vi startede med
    $body .= "--$boundary--";
   
    // Vi definerer from-headeren
    $headers  = "From: ".$_POST['fra']."<x@z.com>\n";
   
    // Vi fortæller hvilken type indhold mailen indeholder
    // samt emailens unikke id-streng
    $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
   
    // Hvis mailen bliver sendt afsted problemfrit
    if (mail("michael@michaelb.dk", "Emnet", $body, $headers)) {
        echo "Mailen er sendt!";
       
    // Hvis ikke skriver vi lige en fejlmeddelelse
    } else {
        echo "Der opstod en fejl, og mailen blev ikke sendt! Kontakt webmaster.";
    }

// Hvis ikke formen er submitted, vis formen
} else {
    echo  "<form action='".basename($PHP_SELF)."?send=1' enctype='multipart/form-data' method='post'>\n";
    echo  "<table>

<tr>
<td width='30%'>Dyret's Navn</td>
<td width='70%'><input type='text' name='dyr-navn' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000' size='20' /></td>
</tr>

<tr>
<td>Dyret's Race</td>
<td><input type='text' name='dyr-race' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000' size='20' /></td>
</tr>

<tr>
<td>Dyret's Alder</td>
<td><input type='text' value='0' name='dyr-alder' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000' size='20'/></td>
</tr>

<tr>
<td>Dyret's Udseende</td>
<td><input type='file' name='filen' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000'><br>
    <input type='file' name='filen2' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000'>
</tr>

<tr>
<td>Dyret's Køn</td>
<td>
<input type='radio' name='valg' value='Dyret er en han' />Han<br />
<input type='radio' name='valg' value='Dyret er en hun' />Hun<br />
<input type='radio' name='valg' value='Kønnet er uvidst' />Vides ikke<br />
</td>
</tr>

<tr>
<td>Ejer's navn</td>
<td><input type='text' name='ejer-navn' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000' size='20' /></td>
</tr>

<tr>
<td>Ejer's e-mail</td>
<td><input type='text' name='fra' style='font-family: Verdana; font-size: 10pt; border: 1px solid #000000' value='@' size='20' /></td>
</tr>

<tr>
<td>Tekst</td>
<td><textarea name='body_text' rows='6' cols='20' style='font-family: Verdana; font-size: 8pt; border: 1px solid #000000'>Skriv gerne en lille historie her!</textarea></td>
</tr>

<tr>
<td>
<input type='submit' value='Indsend' style='font-family: Verdana; font-size: 10pt; background-color: C9D7E6; border: 1px solid #000000'>
</td>
<td>Hvis du har flere en 3 billeder, kan du blot udfylde formularen en gang til</td>
</tr>

</form>
</table>";
}
?>

</body>

</html>
Avatar billede michaelb.dk Nybegynder
02. april 2003 - 17:14 #5
Tjah, jeg foreslår at vi deler pointene!
Avatar billede michaelb.dk Nybegynder
02. april 2003 - 17:15 #6
Ellers må du lige sige til :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester