Avatar billede fqthjoe Nybegynder
18. juli 2003 - 12:45 Der er 8 kommentarer og
1 løsning

Send email(forud defineret mailadresse)når der klikkes på et link

Hej eksperter.
Jeg har en phpside som henter nogle oplysninger fra en MySqlbase som lister nogle filer op, som man så kan klikke på og downloade eller kører. Nu kunne jeg godt tænke mig at når der klikkes på "linket/filen" bliver sendt en e-mail der fortæller mig der er blevet downloadet/åbnet filen.
Kan det lade sig gøre ?
vh thjoe
Avatar billede TRoXa Novice
18. juli 2003 - 12:57 #1
ja med funktionen

mail("bruger@host.dk","EMNE","INDHOLD = $antaldownloads","From: DIG SELV <digselv@digsevl.dk>");
Avatar billede fqthjoe Nybegynder
18. juli 2003 - 12:59 #2
okki dokki tjekker det. bliver desværre først mandag. er lige på vej ud af døren, ok.
Avatar billede jakoba Nybegynder
18. juli 2003 - 13:07 #3
Ja det kan du sagtens. Istedet for at linke til selve den fil der skal downloades  linker du til et lille php script:

<?php
$filnavn = "navnet_paa_din_fil.ext";

header ("Content-type: ???????????");  // mimetype for din fil
header ("Content-Disposition: attachment; filename=$filnavn");
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");

$fp = fopen( $filnavn, "r" );
fpassthru( $fp );
fclose ( $fp );

mail( "dineemail@adresse.dk", "fil downloadet", "filen $filnavn er blevet downloadet" );

?>

mvh JakobA
Avatar billede tipsen Nybegynder
18. juli 2003 - 13:09 #4
Så skal det bygges ind i et script som styrer dine downloads - dvs. alle downloads administreres af et script der eksempelvis modtager et download id, sender en mail og derefter dirigerer brugeren videre til den ønskede fil.
Avatar billede fqthjoe Nybegynder
21. juli 2003 - 09:59 #5
jakoba
Nu har jeg lavet en alm. htm.fil når jeg så klikker på et af linkene ref. den til min php-fil. Og så henter den også filen og gemmer, perfekt :-)
Men skal der være en php-fil for hver download fil ?
og den sender desværre ingen mail. Skal der være sat noget spec. op på min W2K-server / IIS / PHP / MYSQL ?
Avatar billede jakoba Nybegynder
21. juli 2003 - 10:10 #6
du kunne jo evt lave dine links så filnavnet kom med som en url-parameter

<a href="download_og_send_mail.php?fil=filnavn.ext">hent filen filnavn.ext</a>

og så hente parameteren i dit php-script

<?php
if ( isset( $_GET['fil'] ) {
    $filnavn = $_GET['fil'];
} else {
    echo "Du har glemt at angive en fil=xxxxx parameter i dit link";
    exit;
}
// og derefter resten af scriptet ovenfor

mvh JakobA
Avatar billede jakoba Nybegynder
21. juli 2003 - 10:15 #7
Og j, din serverside skal være stillet op til at kunne sende mails. Det bør du dog spørge din udbyder om hvordan man gør, det kan variere meget.
Avatar billede fqthjoe Nybegynder
21. juli 2003 - 10:28 #8
JakobA
Ok. Kanon. JEg vil lige tjekke serveren. Det er min egen, så roder lige lidt med mail delen. men det andet virker:-) Danke..
Avatar billede fqthjoe Nybegynder
23. juli 2003 - 09:33 #9
JakobA
Ved ikke om stadig følger denne tråd, selvom den jo er "afsluttet" med points. Men hvis ja, så kan/vil/gider du måske hjælpe mig.
Jeg har fået mail-delen til at virke sammen med dit første script. Men nu har jeg prøvet det med at få filnavnet med over. Men desværre uden held.
Mine 2 filer ser sådan ud nu:
Download.php:
<?php
if ( isset( $_GET['fil'] ) {
    $filnavn = $_GET['fil'];
} else {
    echo "Du har glemt at angive en fil=xxxxx parameter i dit link";
    exit;
//$filnavn = "winzip81.exe";
header ("Content-type: ???????????");  // mimetype for din fil
header ("Content-Disposition: attachment; filename=$filnavn");
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
mail ("tj@ao-dam.dk", "fil downloadet", "filen $filnavn er blevet downloadet");
$fp = fopen( $filnavn, "r" );
fpassthru( $fp );
fclose ( $fp );
mail ("test@test.dk", "fil downloadet", "filen $filnavn er blevet downloadet");
?>

Test.HTM:
<html>
<head>
<title>Ny side 1</title>
</head>
<body>
<p><a href="http://80.198.168.30/home/login2/download.php">Download WinZip</a></p>
<a href="download.php?fil=winzip81.exe">hent filen filnavn.ext</a>
</body>
</html>
Når jeg klikker på mit "nye" link i test.htm prøver den så at køre flg. adr.:
http://XXX/download.php?fil=winzip81.exe

Kan du se om jeg laver noget forkert.
Håber du kan/vil/gider tag et kig... på det, det er sikkert nok en bakatel.
vh thjoe
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