FTP-klient i PHP. Ladda ner filer?

Permalänk
Medlem

FTP-klient i PHP. Ladda ner filer?

Hej. Har filat lite på en FTP-klient i PHP. Har lyckats lista filer och kollat stats osv. Men hur gör jag för att ladda ner filer? Vill ha så att jag bara kan klicka på filerna och få upp "spara som"-rutan. Har sett andra göra det och att dom använd massa Header-saker, men när jag försöker göra något med Header-kommandot så får jag följade fel:

Warning: Cannot modify header information - headers already sent

Någon som har länk eller tips?

Mycket tacksam för svar.

Permalänk

ob_start(); header("foooo"); ob_end_flush();

fixar det felet iaf

Permalänk
Medlem

Tyvärr verkar det inte funka.. Får samma fel om jag tex kör:

ob_start(); header("Location: http://www.example.com/"); ob_end_flush();

Permalänk

Hm jag gör bara såhär:
<?php
ob_start();session_start();

Massa kod
?>

Den gnäller i alla fall inte över session och header-problem då.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

http://se2.php.net/manual/sv/ref.outcontrol.php

Vad du gör genom att skriva ovanstående förslag, är att du låter PHP läsa in hela filen och bearbeta den innan den skickas till klienten och skrivs ut i webbläsaren. Eftersom header()-funktionen kräver att man inte har skickat någon utdata innan den, så fungerar ovanstående lösningar, eftersom den som sagt förhindrar att utdata sänds innan filen är genomarbetad.

I fall du ville veta och inte orkade läsa manualen själv.

Visa signatur

We shall never cease from exploration And the end of all our exploring Will be to arrive where we started And know the place for the first time.
- T. S. Eliot

Permalänk
Hedersmedlem

Hmm, output buffering är ju knappast en bra idé i detta fall, tänk om filen är flera MB stor då?

Du får helt enklelt se till att köra header() innan NÅGOT (html/text) skickas till webbläsaren.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

Har fått header-grejerna att fungerna nu, genom att lägga dem innan någon annan output. Har även lyckats ladda ner filer från den egna servern (där scriptet körs). Men hur gör jag med sökvägen om jag vill ladda saker från FTP:n?