0
即時通訊使用PHP下載文件的問題。它正在工作,直到我最近將我的網絡服務器安裝在USB棒上以在上線前測試一些新的修改。PHP的下載是從USB 0字節,權限?
一切工作,直到我在USB記憶棒上測試它,但是從USB棒運行服務器後,我能夠下載一個文件,但它是0字節。
我使用已經在互聯網上記錄的一個相當標準的下載技術:
//test if a parameter was passed
if (isset($_GET['download'])) {
if (!empty($_GET['download'])) {
$files = $_GET['download'];
download($files);
}
}
//download function
function download($files){
if(!file_exists($files)){
die('Error');
}else{
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename='.basename($path));
header('Content-Type: application/octet-stream');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
ob_start();
flush();
readfile($files);
exit;
}
}
我相信檢查,以查看該文件是否存在線路將防止下載該doesent存在的文件的能力。 ..不能下載一個空文件。
目前我相信它可能是一個權限問題,但iv無法驗證在網上看作爲文件確實存在於USB和硬盤上,所以也許它通過測試,但不允許從USB讀取?
'filesize($ file)'copypaste錯誤還是實際錯誤? –
嗯,這就像是在原來的..但我會嘗試改變它,看看它是否工作。 – D3181
@SamiKuhmonen實際上這工作和解決了我的問題,是一種無論如何工作的疏忽,張貼它作爲一個答案,我會接受它 – D3181