Avatar billede blackscorpion Nybegynder
22. september 2004 - 22:53 Der er 24 kommentarer og
1 løsning

Maile Fil Via PHP

Hej Eksperter.

Er det muligt, at gemme dataer fra en form i en fil som php så vedhæfter og sender via mail?
Avatar billede sukos Juniormester
22. september 2004 - 22:55 #1
? to spm. af samme slags ?
Avatar billede blackscorpion Nybegynder
22. september 2004 - 22:59 #2
nej det er meningen de skal arbejde sammen.

Det andet spørgsmål, er vedr. at få gemt dataerne i databasen og så sende requesten videre til formmail scriptet.

Dette spørgsmål vedr. problemstillingen i at gemme dataerne i en fil, og få formmail til at sende den i en email som en vedhæftet fil.
Avatar billede blackscorpion Nybegynder
22. september 2004 - 22:59 #3
Så ja, der er faktisk fornuft i al galskaben bag mine 2 spørgsmål. :)
Avatar billede blackscorpion Nybegynder
22. september 2004 - 23:00 #4
Reference til det andet spørgsmål, som der snakkes om: http://www.eksperten.dk/spm/542682
Avatar billede sukos Juniormester
22. september 2004 - 23:09 #5
Der er jo ingen grund til ikke at bruge det samme script som først gememr i DB, dernæst laver en fil, som bliver sendt afsted med mail()

Men har du lavet en DB eller hvad?
Avatar billede blackscorpion Nybegynder
22. september 2004 - 23:10 #6
nej ikke endnu, har lige fået det afvide igår. :)

men jeg vil ikke rigtig begynde at pille ved formmail koden, da den er lidt kryptisk for mig, for den går ind og parser requesten igennem, og henter feltnavn, og felt value ud, og smider dem i en email, og det er jeg ikke så skide hård til. :(
Avatar billede swaxi Nybegynder
23. september 2004 - 14:30 #7
Avatar billede blackscorpion Nybegynder
23. september 2004 - 14:55 #8
de 1497 linier blev jeg ikke meget klogere af... :(

sorry kan ikke bruges, og skal bare have det udbygget i mit nuværende script.
Avatar billede blackscorpion Nybegynder
23. september 2004 - 16:06 #9
okey kan se at jeg godt kan bruge det.

Skulle lige glo på FaQ'en, havde overset var var et "add-in". :(

Men det er så kun halvdelen af spørgsmålet.

Hvordan opretter jeg en fil, med de givende oplysninger i request[]'en, og sletter den igen??

Har aldrig rodet med filer i php før, har lige kigget i manualen, og det blev jeg ikke meget klogere af. :(
Avatar billede blackscorpion Nybegynder
23. september 2004 - 16:11 #10
hmm, skal jeg bruge: $handle = fopen("somefile.txt", "w"); og så køre noget validering af requesten igennem, og så attatche den, og slette den.

Men hvordan sletter jeg den?
Avatar billede blackscorpion Nybegynder
23. september 2004 - 16:14 #11
hmm går ud fra jeg skal bruge unlink("somegile.txt"); ?
Avatar billede blackscorpion Nybegynder
23. september 2004 - 16:23 #12
okey smid lige et svar, så får du point for den mail halløj. :)
Avatar billede swaxi Nybegynder
23. september 2004 - 16:36 #13
pyt med point'ene.
du bruger $mail->AddAttachment("/sti/til/filen");

hvis du vil attacht'e en fil, som brugeren sender med sin form, skal du lige have kopieret filen til en tmp-fil først. men det har ikke noget at gøre med selve mail-delen - det er relateret til fil-upload. det kan du læse mere om i php-manualen :
http://dk.php.net/manual/en/features.file-upload.php
Avatar billede blackscorpion Nybegynder
23. september 2004 - 18:41 #14
yeah i know, men er ved at lave et helt nyt script, en rigtig god sammen blanding. :)

hvor den gør alt det jeg gerne vil på 1 gang.

og jeg skal attacht'e en fil som et led i en registrering. :)
Avatar billede blackscorpion Nybegynder
23. september 2004 - 18:41 #15
en fil som jeg selv opretter, så regner ikke med at det bliver noget problem. :)
Avatar billede blackscorpion Nybegynder
24. september 2004 - 15:29 #16
okey lige et meget dumt spørgsmål...

$filename = $_REQUEST['REMOTE_ADDR'];
echo $filename;

virker ikke... why? hedder den da ikke $_REQUEST['REMOTE_ADDR']; ??
Avatar billede blackscorpion Nybegynder
24. september 2004 - 15:31 #17
okey den hedder $_SERVER['REMOTE_ADDR'] :)
Avatar billede detox Nybegynder
24. september 2004 - 15:35 #18
$_SERVER['REMOTE_ADDR'] = brugerens ip-adresse
Avatar billede blackscorpion Nybegynder
24. september 2004 - 16:04 #19
yep fandt jeg ud af, og nu kan jeg bare ikke få noget til at virke. :(

den vil ikke attache den fil jeg gerne vil have den til... :(
Avatar billede blackscorpion Nybegynder
24. september 2004 - 16:07 #20
min kode ser således ud:

function save_and_mail($file_msg, $email_msg, $mysql_sql) {
 
global $filename;

$handle = fopen("tmp/".$filename.".txt", "w"); // Opretter tmp filen.
fwrite($handle, $file_msg); // Skriver til temp filen.

$mail_file_stuff = "tmp/".$filename."txt";

require("class.phpmailer.php");

$mail = new phpmailer();

$mail->From    = "webmaster@alabit.dk";
$mail->FromName = "Kristian B. Jensen";
$mail->Host    = "alabit.dk";
$mail->Mailer  = "smtp";

$mail->Body    = $email_msg;
$mail->AddAddress("webmaster@alabit.dk", "Kristian Bak Jensen");
$mail->AddAttachment($mail_file_stuff);

if(!$mail->Send())
  echo "There has been a mail error sending to " . $row["email"] . "<br>";

// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();
unlink("tmp/".$filename.".txt"); // Sletter temp filen.
}

næsten i toppen af filen står der så: $filename = $_SERVER['REMOTE_ADDR']."_".time();

den kan godt skrive beskeden og sende mailen osv, den vil bare ikke vedhæfte min fil. :(
Avatar billede blackscorpion Nybegynder
24. september 2004 - 16:08 #21
Deres eksempel ser således ud:

require("mail.inc.php");

// Instantiate your new class
$mail = new my_phpmailer;

// Now you only need to add the necessary stuff
$mail->AddAddress("josh@example.com", "Josh Adams");
$mail->Subject = "Here is the subject";
$mail->Body    = "This is the message body";
$mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip");  // optional name

if(!$mail->Send())
{
  echo "There was an error sending the message";
  exit;
}

echo "Message was sent successfully";

har prøvet at tilføje $_SERVER['DOCUMENT_ROOT'] ... ingen ændring. :(
Avatar billede blackscorpion Nybegynder
24. september 2004 - 16:21 #22
woops.. forkert eksempel.

require("class.phpmailer.php");

$mail = new phpmailer();

$mail->From    = "list@example.com";
$mail->FromName = "List manager";
$mail->Host    = "smtp1.example.com;smtp2.example.com";
$mail->Mailer  = "smtp";

@MYSQL_CONNECT("localhost","root","password");
@mysql_select_db("my_company");
$query  = "SELECT full_name, email, photo FROM employee WHERE id=$id";
$result = @MYSQL_QUERY($query);

while ($row = mysql_fetch_array ($result))
{
    // HTML body
    $body  = "Hello <font size=\"4\">" . $row["full_name"] . "</font>, <p>";
    $body .= "<i>Your</i> personal photograph to this message.<p>";
    $body .= "Sincerely, <br>";
    $body .= "phpmailer List manager";

    // Plain text body (for mail clients that cannot read HTML)
    $text_body  = "Hello " . $row["full_name"] . ", \n\n";
    $text_body .= "Your personal photograph to this message.\n\n";
    $text_body .= "Sincerely, \n";
    $text_body .= "phpmailer List manager";

    $mail->Body    = $body;
    $mail->AltBody = $text_body;
    $mail->AddAddress($row["email"], $row["full_name");
    $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");

    if(!$mail->Send())
        echo "There has been a mail error sending to " . $row["email"] . "<br>";

    // Clear all addresses and attachments for next loop
    $mail->ClearAddresses();
    $mail->ClearAttachments();
}

har så bare fjernet mysql delen.
Avatar billede blackscorpion Nybegynder
24. september 2004 - 16:26 #23
ups...
Avatar billede blackscorpion Nybegynder
24. september 2004 - 16:27 #24
...
fwrite($handle, $file_msg); // Skriver til temp filen.

$mail_file_stuff = "tmp/".$filename."txt";

require("class.phpmailer.php");

...

mangler et . foran txt i $mail_file_stuff = "tmp/".$filename."txt"; ... det virker nu... ;) ;) ;) ;) ;)
Avatar billede blackscorpion Nybegynder
18. oktober 2004 - 15:01 #25
lukker
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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