Avatar billede dkchat Nybegynder
19. december 2000 - 21:02 Der er 18 kommentarer

send fil script

Jeg ska bruge et script som kan følgene!

en bruger skriver han email ind i et felt når han så klikker på send bliver der sende zip fil til den email adresse og hans email adresse bliver gemt i en txt fil eller mysql database på serveren

er der en som har sårdan et script eller kan lave et så er pointsne dine
Avatar billede lp Nybegynder
19. december 2000 - 21:15 #1
i asp ville det ikke være noget problem, men jeg ved ikke lige hvordan det gøres i php.....
Avatar billede steffen Nybegynder
19. december 2000 - 21:45 #2
MIME Mail fra:

http://www.hotscripts.com/PHP/Scripts_and_Programs/Email_Systems/Email_Utilities/

er oplagt til formålet, men giv lige lidt mere info, hvad hedder databasen, har du tænkt over strukturen på den, hvad hedder filen, osv - bare lige lidt ramme-ting, der gør spørgsmålet nemmere at besvare :-)
Avatar billede doeleman Nybegynder
20. december 2000 - 11:29 #3
Det er ikke helt let, men alligevel til at finde ud af :-)

På phpwizard.net finder du en class til at sende mime-encoded emails med attachments. Der er et godt eksempel i bunden af scriptet.
http://www.phpwizard.net/resources/phpMisc/scripts/pretty/mail.php3

Hvis ikke dette er nok, kan du også kigge på:
Kig på http://px.sklar.com/code-pretty.html?code_id=233
Avatar billede dkchat Nybegynder
20. december 2000 - 14:50 #4
steffen 

Databasen heder dkchat
og filen heder design.zip

Hvis du kan lave det så er pointsne dine
Avatar billede doeleman Nybegynder
20. december 2000 - 14:55 #5
Kiggede du på mit eksempel?
Avatar billede steffen Nybegynder
21. december 2000 - 00:24 #6
Her er et kort eksempel på, hvordan det kunne gøres, har valgt de nemme løsninger, du kan sagtens selv udvide det:

<?

if (!$submitted) { ?>

<form method=post>
Indtast din email:<BR>
<input type=\"text\" name=\"email\">
<input type=\"hidden\" name=\"submitted\" value=\"1\"> <BR><BR>
<input type=\"submit\" value=\"Send filen til mig\">
</form>

<?
} else {

// Gem brugerens navn i en fil:
$liste_fil = \"c:\\email_liste.txt\";
$fp=fopen($liste_fil, \'a+\');
fwrite($fp,\"$str \\n\");
fclose($fp);


// Og send ham en e-mail: (ret disse informationer!)

$fil =        \"c:\\autoexec.bat\";
$fra =        \"dkchat@eksperten.dk\";
$til =        $email;
$overskrift = \"Den ønskede binære fil\";
$krop =      \"Her er den ..\";

$attachment = fread(fopen($fil, \"r\"), filesize($fil));

$mail = new mime_mail();
$mail->from = $fra;
$mail->to = $til;
$mail->subject = $overskrift;
$mail->body = $krop;
$mail->add_attachment(\"$attachment\", \"$fil\", \"image/jpeg\");
$mail->send();
}

/*
*  Class mime_mail
*  Original implementation by Sascha Schumann <sascha@schumann.cx>
*  Modified by Tobias Ratschiller <tobias@dnet.it>:
*      - General code clean-up
*      - separate body- and from-property
*      - killed some mostly un-necessary stuff
*/

class mime_mail
{
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

  /*
  *    void mime_mail()
  *    class constructor
  */       
function mime_mail()
  {
  $this->parts = array();
  $this->to =  \"\";
  $this->from =  \"\";
  $this->subject =  \"\";
  $this->body =  \"\";
  $this->headers =  \"\";
  }

  /*
  *    void add_attachment(string message, [string name], [string ctype])
  *    Add an attachment to the mail object
  */
function add_attachment($message, $name =  \"\", $ctype =  \"application/octet-stream\")
  {
  $this->parts[] = array (
                          \"ctype\" => $ctype,
                          \"message\" => $message,
                          \"encode\" => $encode,
                          \"name\" => $name
                          );
  }

/*
*      void build_message(array part=
*      Build message parts of an multipart mail
*/
function build_message($part)
{
$message = $part[ \"message\"];
$message = chunk_split(base64_encode($message));
$encoding =  \"base64\";
return  \"Content-Type: \".$part[ \"ctype\"].
                        ($part[ \"name\"]? \"; name = \\\"\".$part[ \"name\"]. \"\\\"\" :  \"\").
                        \"\\nContent-Transfer-Encoding: $encoding\\n\\n$message\\n\";
}

/*
*      void build_multipart()
*      Build a multipart mail
*/
function build_multipart()
{
$boundary =  \"b\".md5(uniqid(time()));
$multipart =  \"Content-Type: multipart/mixed; boundary = $boundary\\n\\nThis is a MIME encoded message.\\n\\n--$boundary\";

for($i = sizeof($this->parts)-1; $i >= 0; $i--)
    {
    $multipart .=  \"\\n\".$this->build_message($this->parts[$i]). \"--$boundary\";
    }
return $multipart.=  \"--\\n\";
}

/*
*      void send()
*      Send the mail (last class-function to be called)
*/
function send()
{
$mime =  \"\";
if (!empty($this->from))
    $mime .=  \"From: \".$this->from. \"\\n\";
if (!empty($this->headers))
    $mime .= $this->headers. \"\\n\";
   
if (!empty($this->body))
    $this->add_attachment($this->body,  \"\",  \"text/plain\"); 
$mime .=  \"MIME-Version: 1.0\\n\".$this->build_multipart();
mail($this->to, $this->subject,  \"\", $mime);
}
};  // end of class

/*
* Example usage
*

$attachment = fread(fopen(\"test.jpg\", \"r\"), filesize(\"test.jpg\"));

$mail = new mime_mail();
$mail->from = \"foo@bar.com\";
$mail->headers = \"Errors-To: foo@bar.com\";
$mail->to = \"bar@foo.com\";
$mail->subject = \"Testing...\";
$mail->body = \"This is just a test.\";
$mail->add_attachment(\"$attachment\", \"test.jpg\", \"image/jpeg\");
$mail->send();

*/
?>
Avatar billede steffen Nybegynder
21. december 2000 - 00:28 #7
whoops, ang. filtypen:

($mail->add_attachment(\"$attachment\", \"$fil\", \"image/jpeg\");)

Så skal den nok rettes til:

$mail->add_attachment(\"$attachment\", \"$fil\", \"application/octet-stream\");

i stedet, det er mere generelt :-)
Avatar billede doeleman Nybegynder
21. december 2000 - 09:48 #8
steffen >> Ligner lidt, hvad jeg henviste til ik\' :-)
Avatar billede dkchat Nybegynder
21. december 2000 - 10:03 #9
steffen

Det script sender filen men den gemmer ikke noget i email_liste.txt
og hvis det kun er email adressen den gemmer i listen så skal den også gemme hvad for en fil der bliv sendt til den email adresse (jeg har flere filer)
Avatar billede doeleman Nybegynder
21. december 2000 - 10:10 #10
> $liste_fil = \"c:\\email_liste.txt\";
> $fp=fopen($liste_fil, \'a+\');
> fwrite($fp,\"$str \\n\");

skal rettes til
fwrite($fp,\"$email\\n\");
Avatar billede steffen Nybegynder
21. december 2000 - 10:14 #11
hov :-)

jep, så skulle den vist være der :-)
Avatar billede steffen Nybegynder
21. december 2000 - 10:16 #12
oh, avs, med din tilføjelse, skal det faktisk være:

$liste_fil = \"c:\\email_liste.txt\";
$fp=fopen($liste_fil, \'a+\');
fwrite($fp,\"$email, $fil\\n\");
fclose($fp);

Men SÅ er den der også :-)
Avatar billede blood Nybegynder
21. december 2000 - 10:20 #13
Du gemmer den email adressen men
Den skriver ikke hvad fil det blev sendt
Avatar billede dkchat Nybegynder
21. december 2000 - 10:34 #14
Blood

Du må ikke stjæle mit script :-)

Men steffen som blood skriver så gemmer den ikke filen
Avatar billede blood Nybegynder
21. december 2000 - 10:37 #15
HæHæ jo jeg må [:-)}
Avatar billede steffen Nybegynder
21. december 2000 - 13:23 #16
Ups, undskyld, det er simpelthen fordi filen først skrives ind senere, sorry - her er det helt færdigt, som det skal være:

<?

if (!$submitted) { ?>

<form method=post>
Indtast din email:<BR>
<input type=\"text\" name=\"email\">
<input type=\"hidden\" name=\"submitted\" value=\"1\"> <BR><BR>
<input type=\"submit\" value=\"Send filen til mig\">
</form>

<?
} else {


// Fil der skal sendes:
$fil =        \"c:\\autoexec.bat\";

// Fil der skal skrives i:
$liste_fil = \"c:\\email_liste.txt\";

// Gem brugerens navn og tilsendt fil i en tekst-fil:
$fp=fopen($liste_fil, \'a+\');
fwrite($fp,\"$email, $fil\\n\");
fclose($fp);


// Og send ham en e-mail: (ret informationerne efter behag!)

$fra =        \"dkchat@eksperten.dk\";
$til =        $email;
$overskrift = \"Den ønskede binære fil\";
$krop =      \"Her er den ..\";

$attachment = fread(fopen($fil, \"r\"), filesize($fil));

$mail = new mime_mail();
$mail->from = $fra;
$mail->to = $til;
$mail->subject = $overskrift;
$mail->body = $krop;
$mail->add_attachment(\"$attachment\", \"$fil\", \"image/jpeg\");
$mail->send();
}

/*
*  Class mime_mail
*  Original implementation by Sascha Schumann <sascha@schumann.cx>
*  Modified by Tobias Ratschiller <tobias@dnet.it>:
*      - General code clean-up
*      - separate body- and from-property
*      - killed some mostly un-necessary stuff
*/

class mime_mail
{
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

  /*
  *    void mime_mail()
  *    class constructor
  */       
function mime_mail()
  {
  $this->parts = array();
  $this->to =  \"\";
  $this->from =  \"\";
  $this->subject =  \"\";
  $this->body =  \"\";
  $this->headers =  \"\";
  }

  /*
  *    void add_attachment(string message, [string name], [string ctype])
  *    Add an attachment to the mail object
  */
function add_attachment($message, $name =  \"\", $ctype =  \"application/octet-stream\")
  {
  $this->parts[] = array (
                          \"ctype\" => $ctype,
                          \"message\" => $message,
                          \"encode\" => $encode,
                          \"name\" => $name
                          );
  }

/*
*      void build_message(array part=
*      Build message parts of an multipart mail
*/
function build_message($part)
{
$message = $part[ \"message\"];
$message = chunk_split(base64_encode($message));
$encoding =  \"base64\";
return  \"Content-Type: \".$part[ \"ctype\"].
                        ($part[ \"name\"]? \"; name = \\\"\".$part[ \"name\"]. \"\\\"\" :  \"\").
                        \"\\nContent-Transfer-Encoding: $encoding\\n\\n$message\\n\";
}

/*
*      void build_multipart()
*      Build a multipart mail
*/
function build_multipart()
{
$boundary =  \"b\".md5(uniqid(time()));
$multipart =  \"Content-Type: multipart/mixed; boundary = $boundary\\n\\nThis is a MIME encoded message.\\n\\n--$boundary\";

for($i = sizeof($this->parts)-1; $i >= 0; $i--)
    {
    $multipart .=  \"\\n\".$this->build_message($this->parts[$i]). \"--$boundary\";
    }
return $multipart.=  \"--\\n\";
}

/*
*      void send()
*      Send the mail (last class-function to be called)
*/
function send()
{
$mime =  \"\";
if (!empty($this->from))
    $mime .=  \"From: \".$this->from. \"\\n\";
if (!empty($this->headers))
    $mime .= $this->headers. \"\\n\";
   
if (!empty($this->body))
    $this->add_attachment($this->body,  \"\",  \"text/plain\"); 
$mime .=  \"MIME-Version: 1.0\\n\".$this->build_multipart();
mail($this->to, $this->subject,  \"\", $mime);
}
};  // end of class

/*
* Example usage
*

$attachment = fread(fopen(\"test.jpg\", \"r\"), filesize(\"test.jpg\"));

$mail = new mime_mail();
$mail->from = \"foo@bar.com\";
$mail->headers = \"Errors-To: foo@bar.com\";
$mail->to = \"bar@foo.com\";
$mail->subject = \"Testing...\";
$mail->body = \"This is just a test.\";
$mail->add_attachment(\"$attachment\", \"test.jpg\", \"image/jpeg\");
$mail->send();

*/
?>

SÅ tror jeg den er der :-)
Avatar billede astalavista Nybegynder
11. april 2001 - 16:48 #17
.
Avatar billede fixbabe Nybegynder
01. januar 2006 - 22:04 #18
Sker der mere her? jeg vil gerne vide om i fik scriptet til at virke for jeg har ikke kunnde få det til at virke.
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