/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Send e-mail når fil downloades
Fra : Ukendt


Dato : 26-12-06 20:18

Når man klikker på et link til en 19 Mb exe-fil, så skal der samtidig sendes
en mail til en bestemt mailadresse (så man kan tælle hvor mange personer der
downloader filen).

Hvordan gøres dette nemmest?

Jeg har prøvet med FormMail script, men serveren er åbenbart sat op således
at brugeren skal indtaste sin e-mail før end filen må downloades ellers
kommer der cgi-script fejl. Det dur ikke. Filen skal være tilgængelig ved
første klik.

MVH Ole



 
 
Peter Brodersen (27-12-2006)
Kommentar
Fra : Peter Brodersen


Dato : 27-12-06 12:01

On Tue, 26 Dec 2006 20:17:41 +0100, "Ole Sørensen" <-> wrote:

>Når man klikker på et link til en 19 Mb exe-fil, så skal der samtidig sendes
>en mail til en bestemt mailadresse (så man kan tælle hvor mange personer der
>downloader filen).
>
>Hvordan gøres dette nemmest?

I stedet for at linke til fx filnavn.exe, så link til filnavn.php

filnavn.php skal så blot sende en mail (fx med mail()-funktionen), og
så viderestille til filnavn.exe. Fx:

<?php
// utestet
$recipient = "dinadresse@eksempel.dk";
$subject = "Filen er downloadet";
$body = "Din fil er blevet downloadet.";
$headers = "From: $recipient";
$exeurl = "http://www.eksempel.dk/filnavn.exe";

mail($recipient,$subject,$body,$headers);
header("Location: $exeurl");
?>

--
- Peter Brodersen
Kendt fra Internet

Ukendt (28-12-2006)
Kommentar
Fra : Ukendt


Dato : 28-12-06 21:12

Peter Brodersen wrote:
> I stedet for at linke til fx filnavn.exe, så link til filnavn.php

Okay, så når man klikker på linket til filen, så ryger man over på en anden
side (.php) hvor koden eksekveres?

> filnavn.php skal så blot sende en mail (fx med mail()-funktionen), og
> så viderestille til filnavn.exe. Fx:

Den mail-funktion kender jeg ikke. Jeg kender ikke noget videre til php
desværre. Hvor skal den indsættes, og hvordan præcis?

MVH Ole



Christian Joergensen (28-12-2006)
Kommentar
Fra : Christian Joergensen


Dato : 28-12-06 22:26

"Ole Sørensen" <-> writes:

>> I stedet for at linke til fx filnavn.exe, så link til filnavn.php
>
> Okay, så når man klikker på linket til filen, så ryger man over på en anden
> side (.php) hvor koden eksekveres?

Jep, og efterfoelgende viderestilles til den korrekte fil.

>> filnavn.php skal så blot sende en mail (fx med mail()-funktionen), og
>> så viderestille til filnavn.exe. Fx:
>
> Den mail-funktion kender jeg ikke. Jeg kender ikke noget videre til php
> desværre. Hvor skal den indsættes, og hvordan præcis?

http://dk2.php.net/manual/en/function.mail.php

--
Christian Joergensen | Linux, programming or web consultancy
http://www.razor.dk | Visit us at: http://www.gmta.info

Ukendt (28-12-2006)
Kommentar
Fra : Ukendt


Dato : 28-12-06 23:19

Christian Joergensen wrote:
>> Den mail-funktion kender jeg ikke. Jeg kender ikke noget videre til
>> php desværre. Hvor skal den indsættes, og hvordan præcis?
>
> http://dk2.php.net/manual/en/function.mail.php

Uh, det kan jeg desværre ikke gennemskue.
Måske skulle jeg prøve med noget FormMail i stedet for hehe

MVH Ole



Peter Brodersen (30-12-2006)
Kommentar
Fra : Peter Brodersen


Dato : 30-12-06 12:39

On Thu, 28 Dec 2006 21:11:46 +0100, "Ole Sørensen" <-> wrote:

>> I stedet for at linke til fx filnavn.exe, så link til filnavn.php
>
>Okay, så når man klikker på linket til filen, så ryger man over på en anden
>side (.php) hvor koden eksekveres?

Ja, php-filen sender dig en mail, og viderestiller så brugeren over
til den rigtige .exe-fil.

>> filnavn.php skal så blot sende en mail (fx med mail()-funktionen), og
>> så viderestille til filnavn.exe. Fx:
>Den mail-funktion kender jeg ikke. Jeg kender ikke noget videre til php
>desværre. Hvor skal den indsættes, og hvordan præcis?

Du kan kigge på det PHP-eksempel, jeg gav i min tidligere post. Det er
lige til at bruge. Der behøver ikke at tilføjes mere kode, men du skal
blot rette variable i starten af scriptet til, til at pege på din
e-mail-adresse, etc.

--
- Peter Brodersen
Kendt fra Internet

Ukendt (31-12-2006)
Kommentar
Fra : Ukendt


Dato : 31-12-06 21:08

Peter Brodersen wrote:
> Du kan kigge på det PHP-eksempel, jeg gav i min tidligere post. Det er
> lige til at bruge. Der behøver ikke at tilføjes mere kode, men du skal
> blot rette variable i starten af scriptet til, til at pege på din
> e-mail-adresse, etc.

Tak. Hvordan sætter jeg php-kode ind i html-koden? Altså html-dokumentet
skal vel omdøbes til .php for at det virker? Men selve php-koden...?? den
starter med <?php men skal den slutte med ?>
Og hvad med al html-koden; skal <head> og <body> bevares eller hvordan gør
man, når php skal virke i mit hmtl-dokument?
Bekalger mine grønskolling-spørgsmål.

MVH Ole



Ove Lie (31-12-2006)
Kommentar
Fra : Ove Lie


Dato : 31-12-06 21:44

"Ole Sørensen" <-> skrev i melding
news:4598189c$0$4169$ba624c82@nntp02.dk.telia.net...
: Peter Brodersen wrote:
: > Du kan kigge på det PHP-eksempel, jeg gav i min tidligere post. Det er
: > lige til at bruge. Der behøver ikke at tilføjes mere kode, men du skal
: > blot rette variable i starten af scriptet til, til at pege på din
: > e-mail-adresse, etc.
:
: Tak. Hvordan sætter jeg php-kode ind i html-koden? Altså html-dokumentet
: skal vel omdøbes til .php for at det virker? Men selve php-koden...?? den
: starter med <?php men skal den slutte med ?>
: Og hvad med al html-koden; skal <head> og <body> bevares eller hvordan gør
: man, når php skal virke i mit hmtl-dokument?
: Bekalger mine grønskolling-spørgsmål.

Peder Brodersen sa:

<?php
// utestet
$recipient = "dinadresse@eksempel.dk";
$subject = "Filen er downloadet";
$body = "Din fil er blevet downloadet.";
$headers = "From: $recipient";
$exeurl = "http://www.eksempel.dk/filnavn.exe";

mail($recipient,$subject,$body,$headers);
header("Location: $exeurl");
?>


Dette er en fulstendig kode fedig til bruk.

Du må bare lagre dette in en fil med .php tilslutt.

Du må jo selvsakt leke deg litt med variablene ($recipient og $exeurl) her,
så det passer hos deg.

Godt nytt år.

-Ove



Ukendt (01-01-2007)
Kommentar
Fra : Ukendt


Dato : 01-01-07 04:10

Ove Lie wrote:
> Dette er en fulstendig kode fedig til bruk.
> Du må bare lagre dette in en fil med .php tilslutt.
> Du må jo selvsakt leke deg litt med variablene ($recipient og
> $exeurl) her, så det passer hos deg.
> Godt nytt år.


Tak. Ja det virker også hos mig nu.
Hvordan får jeg besked på 2 mail-adresser? jeg har prøvet nedenstående, men
det virker ikke.
Godt nytår.
MVH Ole

<?php
// utestet
$recipient = "dinadresse@eksempel.dk"; dinadresse2@eksempel.dk;
$subject = "Filen er downloadet";
$body = "Din fil er blevet downloadet.";
$headers = "From: $recipient";
$exeurl = "http://www.eksempel.dk/filnavn.exe";

mail($recipient,$subject,$body,$headers);
header("Location: $exeurl");
?>



Ove Lie (01-01-2007)
Kommentar
Fra : Ove Lie


Dato : 01-01-07 13:43


"Ole Sørensen" <-> skrev i melding
news:45987b85$0$4159$ba624c82@nntp02.dk.telia.net...

: Tak. Ja det virker også hos mig nu.
: Hvordan får jeg besked på 2 mail-adresser? jeg har prøvet nedenstående,
men
: det virker ikke.
: Godt nytår.
: MVH Ole
:
: <?php
: // utestet
: $recipient = "dinadresse@eksempel.dk"; dinadresse2@eksempel.dk;

Kanskje:

$recipient = "dinadresse@eksempel.dk; dinadresse2@eksempel.dk";

Mer flyttingen av annførselstegn.

-Ove



Ukendt (02-01-2007)
Kommentar
Fra : Ukendt


Dato : 02-01-07 03:41

Ove Lie wrote:
> Kanskje:
> $recipient = "dinadresse@eksempel.dk; dinadresse2@eksempel.dk";
> Mer flyttingen av annførselstegn.

Nej desværre. Men fint bud
MVH Ole



Peter Brodersen (02-01-2007)
Kommentar
Fra : Peter Brodersen


Dato : 02-01-07 15:52

On Tue, 2 Jan 2007 03:40:36 +0100, "Ole Sørensen" <-> wrote:

>> $recipient = "dinadresse@eksempel.dk; dinadresse2@eksempel.dk";
>> Mer flyttingen av annførselstegn.
>
>Nej desværre. Men fint bud

I manualen for funktionen mail() kan du se følgende:
http://dk2.php.net/manual/en/function.mail.php

==
The formatting of this string must comply with RFC 2822. Some
examples are:

user@example.com
user@example.com, anotheruser@example.com
User <user@example.com>
User <user@example.com>, Another User <anotheruser@example.com>
==

Så prøv med komma i stedet for semikolon:

$recipient = "dinadresse@eksempel.dk, dinadresse2@eksempel.dk";

--
- Peter Brodersen
Kendt fra Internet

Ukendt (02-01-2007)
Kommentar
Fra : Ukendt


Dato : 02-01-07 20:06

Peter Brodersen wrote:
> Så prøv med komma i stedet for semikolon:
> $recipient = "dinadresse@eksempel.dk, dinadresse2@eksempel.dk";

Sådan! Nu virker det perfekt. Jeg havde faktisk prøvet med komma, men med ""
om hver adresse.
Jeg siger tusind tak for hjælpen til jer begge.

MVH Ole



Dan Storm (27-12-2006)
Kommentar
Fra : Dan Storm


Dato : 27-12-06 16:14

Ole Sørensen skrev:
> Når man klikker på et link til en 19 Mb exe-fil, så skal der samtidig sendes
> en mail til en bestemt mailadresse (så man kan tælle hvor mange personer der
> downloader filen).

Hvis dit eneste formål er at tælle hvor mange gange filen er downloadet,
så gem det på serveren i stedet. Det er et resourcespild at få serveren
til at sende dig en mail hver gang din fil downloades hvis det kun er
for at tælle hits...

du kan kalde filen, med nedenstående indhold, 'download.php' og det den
gør er at oprette filen counter.txt som blot tæller opad for hver gang
download.php kaldes. Filen skal så viderestille (med header()) til din
exefil...

<?php

$filename = "counter.txt";

if(is_readable($filename))
{
   $handle = fopen($filename, 'r');
   $count = fread($handle, filesize($filename));
   fclose($handle);
   $count++;
}
else
{
   $count = 1;
}
   $handle = fopen($filename, 'w');
   fwrite($handle, $count);
   fclose($handle);

   header('Location: minfil.exe');

?>


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Christian Joergensen (27-12-2006)
Kommentar
Fra : Christian Joergensen


Dato : 27-12-06 21:38

Dan Storm <shadyz@_REMOVETHIS_err0r.dk> writes:

>    header('Location: minfil.exe');

Husk at det skal vaere en absolut URL man viderestiller til
med Location-headeren.

http://rfc.net/rfc2616.html#s14.30

--
Christian Joergensen | Linux, programming or web consultancy
http://www.razor.dk | Visit us at: http://www.gmta.info

Erik Ginnerskov (28-12-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 28-12-06 02:49

Christian Joergensen wrote:

> Husk at det skal vaere en absolut URL man viderestiller til
> med Location-headeren.
>
> http://rfc.net/rfc2616.html#s14.30

Det står der da godt nok, men det fungerer sædvanligvis uden problemer med
relativ sti.

--
Godt nytår
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Dennis Munding (30-12-2006)
Kommentar
Fra : Dennis Munding


Dato : 30-12-06 07:56

Hej Dan!
"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:45928dca$0$1315$edfadb0f@dread16.news.tele.dk...
> Hvis dit eneste formål er at tælle hvor mange gange filen er downloadet,
> så gem det på serveren i stedet. Det er et resourcespild at få serveren
> til at sende dig en mail hver gang din fil downloades hvis det kun er for
> at tælle hits...

Lyder som en god ide...

> du kan kalde filen, med nedenstående indhold, 'download.php' og det den
> gør er at oprette filen counter.txt som blot tæller opad for hver gang
> download.php kaldes. Filen skal så viderestille (med header()) til din
> exefil...
>
[SNIP - kode]

Se det var jo dejligt med sådan noget kode, hvis man bare kunne få skidtet
til at virke ordenligt...
Jeg har selv flere programmer, som jeg (for sjov) godt kunne tænke mig at
tælle antal downloads på, så jeg modificerede din kode lidt:

<?php
$file = $_GET['file'];
$filename = $file.".txt";

if(is_readable($filename))
{
$handle = fopen($filename, 'r');
$count = fread($handle, filesize($filename));
fclose($handle);
$count++;
}
else
{
$count = 1;
}
$handle = fopen($filename, 'w');
fwrite($handle, $count);
fclose($handle);

header('Location: Program/'.$file.'.zip');
?>

Og linket, som sender brugeren igennem denne fil, kunne f.eks. se således
ud:
<a href="/Downloads/taeller.php?file=SML_Dansk">Simple Mailing List -
dansk</a>

Problemet er, at filen X.txt ikke bliver oprettet (jeg kan i hvert tilfælde
ikke finde den - jeg har "rodet" hele mit web-hotel igennem!), men man får
download-boksen, og kan sagtens downloade den korrekte fil...

Hvad går der galt??

På forhånd tak for svar!


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Christoffer \(Guide\~ (30-12-2006)
Kommentar
Fra : Christoffer \(Guide\~


Dato : 30-12-06 13:19


"Dennis Munding" <mail@invalid.dk> skrev i en meddelelse
news:w4olh.2$Qg7.1@news.get2net.dk...
> Problemet er, at filen X.txt ikke bliver oprettet (jeg kan i hvert
tilfælde
> ikke finde den - jeg har "rodet" hele mit web-hotel igennem!), men man får
> download-boksen, og kan sagtens downloade den korrekte fil...
>
> Hvad går der galt??
http://dk2.php.net/fopen
Hvis du kigger i mode og finder "r" kan du se hvad den gør... Den skriver
kun til filen hvis den eksisterer i forvejen.
Du kunne eksempelvis skifte "r" ud med "a+"



Dennis Munding (30-12-2006)
Kommentar
Fra : Dennis Munding


Dato : 30-12-06 15:46

Hej Christoffer!
"Christoffer (Guide)" <hjeir@motherdk.dk> skrev i en meddelelse
news:4596594c$0$14045$edfadb0f@dread15.news.tele.dk...
> http://dk2.php.net/fopen
> Hvis du kigger i mode og finder "r" kan du se hvad den gør... Den skriver
> kun til filen hvis den eksisterer i forvejen.
> Du kunne eksempelvis skifte "r" ud med "a+"

Nu har jeg så prøvet alle (tror jeg) tænkelige muligheder, men lige lidt
hjælper det...?

Hvis det kan være behjælpeligt med problemløsningen, så har jeg web-hotel
hos Surftown...


Med venlig hilsen
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Dan Storm (30-12-2006)
Kommentar
Fra : Dan Storm


Dato : 30-12-06 21:14

Dennis Munding skrev:
> Hvad går der galt??
Det er garanteret et spørgsmål om rettigheder... ;)

Prøv at oprette filen manuelt og derefter chmod'e den. :)

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Dennis Munding (31-12-2006)
Kommentar
Fra : Dennis Munding


Dato : 31-12-06 10:03

Hej Dan!
"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:4596c88e$0$1336$edfadb0f@dread16.news.tele.dk...
> Det er garanteret et spørgsmål om rettigheder... ;)

Det kan godt tænkes...

> Prøv at oprette filen manuelt og derefter chmod'e den. :)

At oprette den er ikke noget problem, men nu er jeg hverken hel- eller
halvprofessionel udi php, så du må meget gerne skære det med chmod ud i
pap - mener at det har noget med en config-fil at gøre...??

På forhånd tak!


Godt nytår til alle!
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Dennis Munding (31-12-2006)
Kommentar
Fra : Dennis Munding


Dato : 31-12-06 10:30

Hej igen Dan"
"Dennis Munding" <mail@invalid.dk> skrev i en meddelelse
news:H0Llh.6$eO6.2@news.get2net.dk...
> Hej Dan!
>> Prøv at oprette filen manuelt og derefter chmod'e den. :)
>
> At oprette den er ikke noget problem, men nu er jeg hverken hel- eller
> halvprofessionel udi php, så du må meget gerne skære det med chmod ud i
> pap - mener at det har noget med en config-fil at gøre...??

Nu prøvede jeg så lige at studere php-manualen, og jeg forsøgte så med at
indsætte dette i toppen af min tæller-fil (selvfølgelig med den korrekte
sti!):

chmod('/STI/TIL/FIL', 0755);
chmod('/STI/TIL/FIL', 0755);
chmod('/STI/TIL/FIL', 0755);

Men der sker tilsyneladende ingenting - er det mig, der har misforstået
noget (igen!)?


Godt nytår til alle!
--
Dennis Munding
http://tolkecentret.dk/ - Tolkning, oversættelse, rådgivning og kurser!
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste