![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 10.04.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witajcie drodzy forumowicze php.pl
![]() Przychodze do Was z problem jak i nadzieją, że mi pomozecie. Problem polega na tym, że mam plik *.zip na innym serwerze niż moja strona i chciałem po prostu ukryć ściezkę tak, zeby nikt nie mogl wiedziec z jakiego serwera jest ten plik pobierany. Kobinowalem z naglowki + file_get_contens(), ale wtedy skrypt pobiera pliczek do siebie, a dopiero pozniej wysyla go do przegladarki i to zajmuje bardzo dużo czasu. Nie jest to problemem gdy plik ma pare kilo, ale co zrobic gdy ma 100MB? Chciałbym to zrobic tak: najpierw naglowki, pozniej jakies przekierowanie do pliku *zip, skrypt wysyla *.zip'a do przegladarki, user sciaga i nie zna prawdziwej sciezki. Jakies propozycje? Serdecznie pozdrawiam i licze na pomoc z waszej stony ![]() --[ edycja ]-- Moze podam stary kod, abyscie lepiej mogli ocenic sytuację
Ten post edytował SNC 8.04.2006, 08:50:25 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
czyzby chodzilo ci oto? :
http://pl.php.net/manual/pl/function.readfile.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 10.04.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Hmm.. Dziwne, ale readfile() dziala podobnie jak file_get_contents()... Rowniez najpierw pobiera plik do skryptu, a gdy skonczy, dopiero przekazywany jest przegladarce... Moze uzywam zlych naglowkow..?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
to smieszne! jak przegladarka moze nie wiedziec jaki plik pobiera? musisz albo zrobic tak, jak robisz (file_get_contents/readfile), albo pogodzic sie z tym, ze inaczej sie nie da! mozna wysylac naglowek location do przegladarki, ale mimo to, iz na pasku adresu bedzie adres skryptu, to w ten sposob mozna bez problemu sprawdzic adres url pliku.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 10.04.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cytat(dtb @ 2006-04-11 20:09:50) to smieszne! jak przegladarka moze nie wiedziec jaki plik pobiera? Chcesz przyklad? Proszę bardzo. I teraz zlokalizuj mi gdzie znajduje się plik tcmd654a.exe. Nie da sie? Wlasnie o to mi chodzi! Zamiast http://serwer_z_pliami.com/tcmd654a.exe pokazuje mi sie http://total.qneta.com/get_remote.php?file...e13fc07378cfd71 Pozdrawiam Ten post edytował SNC 12.04.2006, 09:33:40 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 402 Pomógł: 0 Dołączył: 20.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 10.04.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
@Vogel, przykład z manuala ktory przytoczyłeś nijak ma się do mojego problemu...
Ten post edytował SNC 12.04.2006, 16:24:06 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 436 Pomógł: 6 Dołączył: 8.11.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Może pokombinuj z funkcją flush" title="Zobacz w manualu php" target="_manual. Tak wymyśliłem, że jeżeli będziesz odczytywał x bajtów pliku w pętli, wyrzucał to zadziała. Nie będzie trzeba czekać na ściągnięcie do końca.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 10.04.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Liko @ 2006-04-12 18:31:14) Może pokombinuj z funkcją flush" title="Zobacz w manualu php" target="_manual. Tak wymyśliłem, że jeżeli będziesz odczytywał x bajtów pliku w pętli, wyrzucał to zadziała. Nie będzie trzeba czekać na ściągnięcie do końca. @Liko, mam prosbe, moglbys przyblizyc trochę jak to sobie wyobrazasz? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(SNC @ 2006-04-12 08:30:54) Cytat(dtb @ 2006-04-11 20:09:50) to smieszne! jak przegladarka moze nie wiedziec jaki plik pobiera? Chcesz przyklad? Proszę bardzo. I teraz zlokalizuj mi gdzie znajduje się plik tcmd654a.exe. Nie da sie? Wlasnie o to mi chodzi! Zamiast http://serwer_z_pliami.com/tcmd654a.exe pokazuje mi sie http://total.qneta.com/get_remote.php?file...e13fc07378cfd71 Pozdrawiam Z tego zo zrozumiałem, chcesz aby ktos przykładowo klikając na link http://www.serwerA.com/plik.zip ściągał tak naprawdę zawartość pliku z innego serwera np. z miejsca http://www.serwerB.com/plik.zip Jedyny sposób w jaki możesz to osiągnąć to napisanie skryptu, który ściąga plik z serweraB i serwuje go. NIE DA SI INACZEJ. To jest ta sama sprawa jak próba namówienia przegląrki aby pokazywała stronęB kiedyś ktoś wklika w pasek adresy stronaA (tak aby ten adres się zmienił przy przekierowaniu). Takie rzeczy są po prostu nie dozwolone ze zrozumiałych względów. Vogel Ci podał moim zdaniem najlepsze rozwiązanie do Twojego problemu. Mam wrażenie, że go nie zrozumiałeś Przykład, który Ty podałeś ze strony Total commandera robi dokładnie to samo Po kliknięciu na download poprzez formularz (dlatego nie widać linku) zostajesz przekierowany na następujący adres: http://total.qneta.com/get_remote.php?file...ba457ce13962f82 Jest to skrypt php prawdopodobnie właśnie w taki sam albo bardzo podobny sposób serwuje Ci plik, z tylko sobie wiadomego źródła. Ten post edytował mariuszn3 15.04.2006, 13:19:16 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Prościutkie
Teraz teoretycznie nie musisz czekać aż całość ściągnie się na serwer, ponieważ czyta do bufora. Nie znam enginu php więc nie wiem czy to tak działa, ale spróbuj. Ten post edytował Jabol 15.04.2006, 17:08:08 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:07 |