Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmiana nazwy a uszkodzone archiwum
Forum PHP.pl > Forum > PHP
Mrok71
Witam.

Mam funkcję która ma za zadanie zmienić "w locie" nazwę oryginalnego pliku (w tym przypadku "blue.zip") na nazwę w danej chwili godziny pobierania.

  1. <?php
  2.  
  3. function download() {
  4.  
  5. $url = 'download/blue.zip';
  6.  
  7. $mim = strtolower( end( explode( ".", basename($url) ) ) );
  8.  
  9. $local_file = $url;
  10. $download_file = date('h:i').".$mim";
  11.  
  12.  
  13. $download_rate = 20.5;
  14. if(file_exists($local_file) && is_file($local_file))
  15. {
  16. header('Cache-control: private');
  17. header("Content-Type: application/$mim");
  18. header('Content-Length: '.filesize($local_file));
  19. header('Content-Disposition: filename='.$download_file);
  20.  
  21. flush();
  22. $file = fopen($local_file, "r");
  23. while(!feof($file))
  24. {
  25.  
  26. print fread($file, round($download_rate * 1024));
  27.  
  28. flush();
  29.  
  30. sleep(1);
  31. }
  32. fclose($file);}
  33. else {
  34. die('Error: The file '.$local_file.' does not exist!');
  35. }
  36. }
  37.  
  38. ?>


Po pobraniu tego pliku zip i otwarciu w WinRarze dostaję komunikat o uszkodzonym archiwum. Co zrobiłem źle? wstydnis.gif
yevaud
gdzies sa jakie znaki przed <? albo po ?>, albo Twoj skrypt "cos pisze" poza samym plikiem. Poogladaj plik w jakims edytorze hex
Mrok71
Nie w tym problem. Bo ja sobie odzyskam zawartość archiwum ale zwykły szary użytkowniki miałby z tym problem. W zasadzie powstał ten skrypt by uniemożliwić użytkownikowi podejrzenie skąd dokładnie został pobrany plik (z jakiej lokalizacji)
yevaud
porownaj plik oryginalny z tym co wyplul skrypt. Zacznij od rozmiaru, a pozniej jakis binary diff
Mrok71
Cytat(yevaud @ 10.10.2010, 20:29:59 ) *
a pozniej jakis binary diff

Eee... Co?
Po porównaniu plików to w zasadzie niczym się nie różnią :/ A co z tym skryptem więc jest nie tak? A może jest prostszy sposób "zamaskowania" ścieżki dostępu pobieranego pliku? Tj. Chciałbym ukryć adres URL pobieranego pliku.
yevaud
jakies roznice musza byc, skoro bylo co naprawiac
Mrok71
Cytat(yevaud @ 12.10.2010, 13:35:21 ) *
jakies roznice musza byc, skoro bylo co naprawiac


Niczym się nie różnią po za tym że pliki w archiwum pobranym przez ten skrypt zamiast oryginalnego CRC jest "0000000000"


Edit:
Problem rozwiązany dzięki "PHP File Downloader by Mateusz Piechnat [http://piechnat.prv.pl]"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.