ファイルをダウンロード

2017/02/08

<?php
function download_file($file_path){
    /* ファイルの存在確認 */
    if (!file_exists($file_path)) {
        die("Error: File does not exist");
    }

    $file_length = filesize($file_path);

    //オープンできるか確認 
    if (!@$fp = fopen($file_path, "r")) {
        die("Error: Cannot open the file(".$file_path.")");
    }
    fclose($fp);

    //ファイルサイズの確認 
    if (($file_length = filesize($file_path)) == 0) {
        die("Error: File size is 0.(".$file_path.")");
    }

    /* ダウンロード用のHTTPヘッダ送信 */
    header("Content-Disposition: inline; filename=\"".basename($file_path)."\"");
    header("Content-Length: ".$file_length);
    header("Content-Type: application/octet-stream");

    /* ファイルを読んで出力 */
    if (!readfile($file_path)) {
        die("Cannot read the file");
    }

    //もし機能しないなら
    //header("Location: $file_path");
}
?>