Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Alternatywa file_get_contents() ?, Ukrywanie pliku, który ma byc pobierany
SNC
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

--[ edycja ]--

Moze podam stary kod, abyscie lepiej mogli ocenic sytuację
  1. <?php
  2. header("Content-Type: application/force-download"); 
  3. header("Content-Type: application/octet-stream"); 
  4. header("Content-Type: application/download"); 
  5. header("Content-Disposition: attachment; filename=jakas_tam_nazwa.zip;");
  6. header("Accept-Ranges: bytes"); 
  7. header("Content-Transfer-Encoding: binary"); 
  8.  
  9. print( file_get_contents( 'http://adresserwazplikami.com/plikz.zip' ) );
  10.  
  11. ?> 


Ten post edytował SNC 8.04.2006, 08:50:25
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Jabol
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Prościutkie
  1. <?php
  2.  
  3. header("Content-Type: image/jpeg");
  4. header("Content-Length: " . filesize($name));
  5.  
  6. $fh=fopen($name, "r");
  7.  
  8. /* do
  9. {
  10. $buf=fread($fh, 2048);
  11. print $buf;
  12. } while($buf!=""); */
  13.  
  14. while(strlen(($buf=fread($fh, 2048))!=0)
  15.  print $buf;
  16.  
  17. fclose($fh);
  18.  
  19. ?>
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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 12:51