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:
function download(fileID)
{
$.post
(
'ajax/offer.ajax.php',
{
cmd: 'downloadFile',
fileID: fileID
}
)
}
Funkcja wywołuję po kliknięciu w odpowieni element.
Następnie poprzez plik offer.ajax.php wywoływana jest funkcja w PHP:
function getFile($fileID, $dblink)
{
$fileRecord = $this->getFileRecord($fileID, $dblink);
//echo getcwd();
//var_dump($fileRecord);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); header('Content-Type: '.$fileRecord[0
]->fileType); header('Content-Disposition: attachment; filename='.$fileRecord[0
]->fileNameOrg); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".$fileRecord[0
]->fileSize);
if ($fHandle = fopen('../files/'.$fileRecord[0]->fileName, "rb")) {
echo(fread($fHandle, $fileRecord[0
]->fileSize)); }
}
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ć?