[HTML] Auto-download link

Pagina: 1
Acties:

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Hallo,

Als ik een link wil maken naar een .txt file, maar dat als je erop klikt een prompt moet krijgen of je het wilt opslaan (zelfde als rechtermuisknop > opslaan als), hoe doe ik dat? Ik heb al een beetje op internet rondgezocht, maar kon niets vinden.

hand·te·ke·ning (de ~ (v.))


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Met HTML alleen kan je dat niet forceren. Wellicht handig te kijken naar verschillende headers die je kan meesturen door middel van een serverside taal?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Het bestand een andere mime type meegeven met een serverside taal of via de webserver.

* CrashOne moet sneller typen, BtM909 :Y)

[ Voor 25% gewijzigd door CrashOne op 03-10-2005 16:18 ]

Huur mij in als freelance SEO consultant!


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
CrashOne schreef op maandag 03 oktober 2005 @ 16:17:
Het bestand een andere mime type meegeven met een serverside taal of via de webserver.
Kan dit met PHP ?

hand·te·ke·ning (de ~ (v.))


  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Nergens voor nodig, je kan gewoon dmv PHP met headers aangeven wat er met het bestand moet gebeuren:
PHP:
1
2
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=<filename>");

Zo wordt het bestand niet geopend in de browser, maar ter download aangeboden.

Sole survivor of the Chicxulub asteroid impact.


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
De code:

code:
1
2
3
4
5
6
7
8
9
$bestand=fopen('export.txt', 'w');
    
$query=mysql_query("SELECT bedrijfsnaam, achternaam FROM site_leden ORDER BY bedrijfsnaam");
fputs($bestand,"Bedrijfsnaam    Achternaam\n");
while($lijst=mysql_fetch_array($query)){
fputs($bestand, $lijst['bedrijfsnaam'] . '  ' . $lijst['achternaam'] . "\n");
}
header("Content-Type: text/plain"); 
header("Content-Disposition: attachment; filename=export.txt");


Er gebeurt niets als ik dit open

hand·te·ke·ning (de ~ (v.))


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Je kunt beter [php]-tags gebruiken. En de reden waarom er niets gebeurt is waarschijnlijk omdat je de inhoud van het bestand ook nog mee moet sturen.

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Je moet het bestand ook naar de browser sturen?
Wat je beter kan doen is de uitvoer rechtstreeks naar de client sturen met echo of print, wanneer er nu 2 of meerdere personen tegelijk dat bestand willen downloaden kan het fout gaan.

Zoiets dus:

PHP:
1
2
3
4
header("Content-Type: text/plain"); 
header("Content-Disposition: attachment; filename=export.txt");

echo "contents";

If I can't fix it, it ain't broken.

Pagina: 1