Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie pliku poprzez AJAX
busterek
post 3.02.2014, 23:30:09
Post #1





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

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


Tworzę skrypt, który w założeniu ma najpierw sprawdzać, czy dany plik można pobrać bez podania kodu, czy też nie. Chciałbym to wykonać przy pomocy AJAXa. Niestety natknąłem sie na problem. Może pokażę kod.

Funkcja download w JS:

  1. function download(fileID)
  2. {
  3. $.post
  4. (
  5. 'ajax/offer.ajax.php',
  6. {
  7. cmd: 'downloadFile',
  8. fileID: fileID
  9. }
  10. )
  11. }


Funkcja wywołuję po kliknięciu w odpowieni element.
Następnie poprzez plik offer.ajax.php wywoływana jest funkcja w PHP:

  1. function getFile($fileID, $dblink)
  2. {
  3. $fileRecord = $this->getFileRecord($fileID, $dblink);
  4. //echo getcwd();
  5. //var_dump($fileRecord);
  6. header("Pragma: public");
  7. header("Expires: 0");
  8. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  9. header("Cache-Control: private",false);
  10. header('Content-Type: '.$fileRecord[0]->fileType);
  11. header('Content-Disposition: attachment; filename='.$fileRecord[0]->fileNameOrg);
  12. header("Content-Transfer-Encoding: binary");
  13. header("Content-Length: ".$fileRecord[0]->fileSize);
  14.  
  15. if ($fHandle = fopen('../files/'.$fileRecord[0]->fileName, "rb"))
  16. {
  17. flock($fHandle, 1);
  18. echo(fread($fHandle, $fileRecord[0]->fileSize));
  19. flock($fHandle, 3);
  20. fclose($handle);
  21. }
  22. }


Funkcja getFileRecord, pobiera z bazy informację o pliku.

Niestety ta konstrukcja nie działa. Czy mógłby ktoś podpowiedzieć co jest nie tak i co poprawić?

Ten post edytował busterek 3.02.2014, 23:31:21
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:51