Send email met download button

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • M.v.Veelen
  • Registratie: Januari 2001
  • Laatst online: 17-09 18:38
Hi,

ik heb een eenvoudige php pagina waarin ik een downloadlink heb staan. Eigenlijk heb ik er meerdere, maar als ik er 1 werkend heb kan ik het gebruiken voor die paar andere pagina's.

Maar nu zou ik graag, dmv de klik waarbij men het bestand kan downloaden, zelf ook gelijk een e-mail krijgen zodat ik weet dat het bestand is gedownload. Niets flashy, gewoon een e-mail met daarin de melding dat bestand X is gedownload. Liefst ook dat de pagina blijft staan en er geen andere (php) pagina wordt geopend. Al zou ik daar iets op kunnen bedenken.

Heb al wat rondgekeken maar wil niet het mailprogramma op de PC van de client aanspreken, alleen "stil" een berichtje naar mezelf. De scripts die ik heb gevonden zijn mega-uitgebreid en ik kwam er niet uit.

Iemand een eenvoudige oplossing?

¯\_(ツ)_/¯

Alle reacties


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wat werkt er niet aan gewoon een email vanuit PHP sturen en daarna de file naar de client sturen?

PHP:
1
2
3
4
5
6
7
8
9
10
// Send email
mail('ikke@mail.com', 'File downloaded!', 'Je file is gedownload');

// Send file
$file = '/path/to/myfile.zip';
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"myfile.zip\"");
header("Content-Length: " . filesize($file));
$fp = fopen($file, 'rb');
fpassthru($fp);


En gebruik alsjeblieft iets beters dan mail (phpmailer ofzo bijvoorbeeld), bovenstaand is maar een simpel voorbeeld.

[ Voor 100% gewijzigd door RobIII op 24-04-2021 19:49 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • TripleQ
  • Registratie: Juni 2004
  • Niet online
https://www.php.net/manual/en/function.mail.php

Hier al gekeken? Je kan uiteraard gewoon mailen met PHP. Ik zou zeggen, probeer wat voorbeelden, en vertel ons dan wat er precies niet lukt.

Acties:
  • 0 Henk 'm!

  • M.v.Veelen
  • Registratie: Januari 2001
  • Laatst online: 17-09 18:38
Het combineren lukt me niet. De code om het bestand te downloaden is deze:

code:
1
<div class="mbr-section-btn mt-3"><a class="btn btn-danger display-4" href="https://www.website.nl/zipbestand.zip">DOWNLOAD</a></div>


Maar hoe combineer ik dat dan met bijv. wat @RobIII heeft geplaatst?

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
M.v.Veelen schreef op zaterdag 24 april 2021 @ 19:50:
Het combineren lukt me niet. De code om het bestand te downloaden is deze:

code:
1
<div class="mbr-section-btn mt-3"><a class="btn btn-danger display-4" href="https://www.website.nl/zipbestand.zip">DOWNLOAD</a></div>
Probeer eens een link naar downloadmyfile.php in plaats van zipbestand.zip ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • M.v.Veelen
  • Registratie: Januari 2001
  • Laatst online: 17-09 18:38
Ik heb jouw geplaatste code in downloadmyfile.php gezet (en <?php ?> er omheen) maar dan krijg ik na het drukken op de downloadknop een verminkte versie van het php bestand te zien waar de downloadlink in staat. En geen mail trouwens. Moet daarvoor ook niet op de server van de host eea eerst worden ingesteld?

¯\_(ツ)_/¯


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
M.v.Veelen schreef op zaterdag 24 april 2021 @ 19:59:
Moet daarvoor ook niet op de server van de host eea eerst worden ingesteld?
Uh, ja, uiteraard. Als je host geen PHP ondersteunt gaat 't niet werken nee :X :F Daarbij is mijn code uit de losse pols en bedoeld als hint in de juiste richting; het is niet de bedoeling dat je de code copy/paste en er van uit gaat dat 't dan zomaar werkt.

[ Voor 24% gewijzigd door RobIII op 24-04-2021 20:00 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • M.v.Veelen
  • Registratie: Januari 2001
  • Laatst online: 17-09 18:38
Nee, die ondersteunt het wel degelijk, maar ik dacht dat het niet zou werken. Ik krijg echter wel mails binnen na het testen met andere scripts. Alleen bij dit voorbeeld krijg ik niets binnen helaas :).

Jouw opzet klinkt wel logisch, ik moet dan alleen gaan rommelen met de code en de juiste daarvoor zien te vinden.

[ Voor 22% gewijzigd door M.v.Veelen op 24-04-2021 20:02 ]

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
M.v.Veelen schreef op zaterdag 24 april 2021 @ 20:01:
Nee, die ondersteunt het wel degelijk, maar ik dacht dat het niet zou werken. Ik krijg echter wel mails binnen na het testen met andere scripts. Alleen bij dit voorbeeld krijg ik niets binnen helaas :).
Nou, dan heb je toch wat je moet hebben?

Andere scripts mailen klaarblijkelijk wel, copy/paste dat + (headers + fpassthru) voor 't serveren van de file + de tip dat je moet linken naar de php i.p.v. naar een zipfile = werkende oplossing. We gaan hier geen handjes houden. Concrete vragen zijn van harte welkom, maar dit wordt zo nogal een vrij vervelende exercitie ;)

[ Voor 4% gewijzigd door RobIII op 24-04-2021 20:04 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • M.v.Veelen
  • Registratie: Januari 2001
  • Laatst online: 17-09 18:38
OK, bedank tot zover. Ik heb geen flauw idee waar te beginnen, laat staan waar te eindigen. Ik dacht dat het na een hoop gepruts hier mogelijk was om een eenvoudige oplossing te krijgen maar als dat onder de noemer "handje vasthouden" valt, dan ben ik hier aan het verkeerde adres en zoek ik verder.

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • Twazerty
  • Registratie: April 2006
  • Laatst online: 01:02

Twazerty

AVCHDCoder developer

In het verleden heb ik een soortgelijk probleem wat ik op wilde lossen. Ik was niet geïnteresseerd in een mailtje, maar wel in het aantal downloads. Ik heb daar destijds het volgende voor gebruikt:
https://www.phpjunkyard.com/php-click-counter.php

Aangezien je het al voor elkaar hebt om te mailen, kun je natuurlijk bovenstaande oplossing uitbreiden met je eigen code.

Ruisende versterker: schakel je subwoofer in.


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 08:59

AW_Bos

Liefhebber van nostalgie... 🕰️

M.v.Veelen schreef op zaterdag 24 april 2021 @ 20:32:
OK, bedank tot zover. Ik heb geen flauw idee waar te beginnen, laat staan waar te eindigen. Ik dacht dat het na een hoop gepruts hier mogelijk was om een eenvoudige oplossing te krijgen maar als dat onder de noemer "handje vasthouden" valt, dan ben ik hier aan het verkeerde adres en zoek ik verder.
Als je letterlijk PHP-code ziet, kijk dan in de sourcecode:

- Je ziet ook daar de exacte code: Je script staat niet in een .php-bestand, of PHP is niet geïnstalleerd of staat uitgeschakeld op de server.
- Je ziet een verminkte code met 'vreemde teken'. Zoals dit: & amp;& lt;?php. In dat geval sta je PHP op de verkeerde manier in te voeren in je editor, en vermoedelijk aan de WYSIWYG-kant waardoor de code-noodzakelijke tekens zoals < en > onschadelijk gemaakt worden, omdat het programma aanneemt dat je die tekens niet als code wilt gebruiken.

[ Voor 4% gewijzigd door AW_Bos op 25-04-2021 09:56 ]

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes

Pagina: 1