Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ftp - sciaganie pliku z serwera
grohu
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


chcialbym miec skrypt do ktorego odwoluje sie
plik o tresc:

<a href=sciagnij_plik.php?plik=$nazwa_pliku> $nazwa_pliku </a>


zadaniem pliku sciagnij.php jest polaczenie z serwerem,i sciagniecie
pliku tak,zeby w przegladarce otworzylo sie okienko do zapisania
pliku (w header trzeba chyba uzyc attachment);

a w pliku sciagnij_plik.php :

$serwer="localhost";
$uzytkownik="szparag";
$haslo="haslo";

$conn_id = ftp_connect($serwer);
$login_result = ftp_login($conn_id, $uzytkownik, $haslo);

teraz trzeba jakos pobrac $plik z serwera ftp i wyslac go
do przegladarki.
nie wiem jak to zrobic zbytnio,wiem ze sa funkcje ftp
do sciagania plikow ,ale z deka ich nie kumam.

ten plik z ftpa trzeba chyba zapisac do zmiennej a pozniej wrzucic ja jako zalacznik w naglowek,ale nie wiem...

moze mi ktos dokonczyc ten przyklad sciagania plikow z serwera questionmark.gif?

prosze o pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
HaRy
post
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 15.05.2002
Skąd: Łódź

Ostrzeżenie: (0%)
-----


zapisz ten plik gdzies na w jakims tmp' katalogu

i location'em zapodaj przegladarce
[php:1:a8f3a602e5]<?php
header("Location: ".$plik);

?>[/php:1:a8f3a602e5]
Go to the top of the page
+Quote Post
Seth
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


grochu: uzywaj BBCode'u. Wiecej tutaj: http://forum.php.pl/viewtopic.php?t=2810
Go to the top of the page
+Quote Post
grohu
post
Post #4





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


ok.
od tej pory bede uzywal bbcode,ale to nie zmienia faktu ze problem pozostaje.
harry mi nie pomogl swoja rada z
[php:1:20c5c89128]
<?
header("Location: ...");
?>
[/php:1:20c5c89128]

i umieszczaniem plikow w tempie,bo sztuka polega na pobraniu pliku z ftp'a a nie z tmp'a.
mozna zrobic to tak,ale to nie ma sensu ze wzgledu na bezpieczenstwo:
[php:1:20c5c89128]<?
header("Location: user:password@server/$plik");
?>[/php:1:20c5c89128]

ale jak bedzie plik ktory przegladarka moze otworzyc sama to otworzy ten plik w swoim oknie a na pasku adresy pojawi sie adres z nazwa uzytkownika ,haslem i adresem serwera.
to bez sensu.
dlatego plik trzeba sciagnac za pomoca funckji php do obslugi FTP.
i w tym caly problem,i do tego potrzebuje pomocy.
Go to the top of the page
+Quote Post
DeyV
post
Post #5





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Szukaj...
Było np. tu: http://forum.php.pl/viewtopic.php?t=5701&h...hlight=download
a tu gotowy przykład:

Cytat
[php:1:e0088953ef]
<?php

$file = './files/'.$_GET['file'];

header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".basename($file));
header("Connection: Close");

readfile($file);
?>
[/php:1:e0088953ef]
Do tego doloz sprawdzanie wczesniej czy z dozwolonego katalogu plik leci i bedziesz mial.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
kurtz
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

Ostrzeżenie: (0%)
-----


Hej,

Proponowlabym nastepujaca kolejnosc:
1) php-ftp
laczysz sie ze zdalnym serwerem
pobierasz plik
( opis jak: http://pl2.php.net/manual/en/function.ftp-get.php )
zapiszujesz go w /tmp pod jakas losowa nazwa
( jak: http://pl2.php.net/manual/en/function.tempnam.php )

2) php
wysylasz naglowki - "zapisz plik"
(php.faq.pl - sugerowanie przegladarce nazwy..)


tyle ;)

Powiesz z ktorym emasz ewentlanie problem - bedizemy kombinowac.

Pozdrawiam


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post
DeyV
post
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




no i super - posty się uzupełniły.
Ale zastanawia mnie, dlaczego uważasz, że warto by towrzyć plik tymczasowy, a dopiero potem przesyłać go do usera? Z uwagi na prędkość połączenia ftp? Czy jest jakiś inny powód?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
kurtz
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

Ostrzeżenie: (0%)
-----


Hej
Cytat
no i super - posty się uzupełniły.
Ale zastanawia mnie, dlaczego uważasz, że warto by towrzyć plik tymczasowy, a dopiero potem przesyłać go do usera? Z uwagi na prędkość połączenia ftp? Czy jest jakiś inny powód?
Poniewaz calkiem mozliwe ze wystapia dwa pliki o tej samej nazwie. ot przyzwyczajenie ;)


Pozdrawiam


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post
grohu
post
Post #9





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


i sprawa jest juz jasna,najpierw sie pobiera plik z ftp do katalogu /tmp
a z niego przesyla sie naglowek do przegladarki.

dzieki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:32