Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z pobieraniem pliku
Forum PHP.pl > Forum > PHP
pawel_chyla
Witam,
mam taki problem, albo jak mówią niektórzy spece od handlu wyzwanie. Otóż robie intranetowy portal crm, na bazie freeCRM firmy more7, wszystko działa fajnie, bo i dość skromna jego zawartość. Nie mniej jednak problem dotyczy pobierania wcześniej załączonych plików. Mianowicie po kliknięciu w link do pliku wyświetla sie w przeglądarce jago zawartość (w przypadku .doc ich kod) zamiast pobierania. poniżej zamieszczam kod który za to odpowiada, może ktoś łaskawy zerknie na to i coś podpowie?

  1. <?php
  2. require("db.php");
  3. function error($fil)
  4. {
  5. return '';
  6. }
  7.  
  8.  
  9. ///////////////////////////
  10. //read all file as ssi
  11. ///////////////////////////
  12. function ssi($fil)
  13. {
  14. if(file_exists($fil))
  15. {
  16. $fd=fopen($fil,"r");
  17. if($fd>0){
  18. $contents = fread( $fd, filesize( $fil) );
  19. fclose($fd);
  20. return $contents;
  21. }
  22. else return error($fil);
  23. }
  24. else{//not file
  25. return error($fil);
  26. }
  27.  
  28.  
  29. }
  30.  
  31.  
  32. function getfile($name){
  33. $path="templates/".$name;
  34. $fd=fopen($path, "r");
  35. $temp="";
  36. while (!feof($fd)) {
  37. $buffer = fgets($fd, 4096);
  38. $temp=$temp.$buffer;
  39. }
  40. fclose($fd);
  41. return $temp;
  42. }
  43.  
  44. $sSQL="select * from pliki where sciezka='$sciezka'";
  45. $ret=mysql_query($sSQL);
  46. if($obj=mysql_fetch_object($ret))
  47. {
  48. $ext=substr($obj->nazwa,strrpos($obj->nazwa,".")+1);
  49. echo $ext;
  50. $sSQL1="select mim from mime where ext='".$ext."'";
  51. $ret1=mysql_query($sSQL1);
  52. if($obj1=mysql_fetch_object($ret1))
  53. header('Content-Type: '.$obj1->mim);
  54.  
  55. header('Content-Disposition : attachment; filename='.$obj->nazwa.'');
  56. header('Accept-Ranges: bytes');
  57. $str='Content-Length: '.filesize($UploadFilePath.$obj->sciezka);
  58. header($str);
  59. header('Connection: close');
  60. readfile($UploadFilePath.$obj->sciezka);
  61. }
  62. ?>

---

proszę używać bbcode
poprawiam
revyag
k@zio
Dodaj:
  1. <?php
  2. header("Pragma: public");
  3. header("Expires: 0");
  4. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  5. header("Cache-Control: public");
  6. header('Content-type: application/doc');
  7. ?>
pawel_chyla
Dzięki wielkie! pomogło!
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.