File "download.php"

Full Path: /home/analogde/www/FTP/Monsta-FTP-master/download.php
File size: 1.51 KB
MIME-type: text/x-php
Charset: utf-8

<?php

    //$file      = "~/www/2024_PHP/test.pptx"

    $file = "~/www/2024_PHP/2024_PHP_12_11_2024/FTP/Monsta-FTP-master/93522827_016_5bab.jpg";
    $file_name = getFileFromPath($file);
    $fp1       = createTempFileName($file_name);
    $fp2       = $file;

   // $fp1       = "https://analog-design.net/2024_PHP/2024_PHP_12_11_2024/FTP/Monsta-FTP-master/93522827_016_5bab.jpg";

    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"" . quotesEscape($file_name, "d") . "\""); // quotes required for spacing in filename
    header("Content-Length: " . filesize($fp1));

    flush();

    $fp = @fopen($fp1, "r");
    while (!feof($fp)) 
    {
        echo @fread($fp, 65536);
        @flush();
    }
    @fclose($fp);

function getFileFromPath($str)
{
    
    $str = preg_replace("/^(.)+\//", "", $str);
    $str = preg_replace("/^~/", "", $str);
    
    return $str;
}

function quotesEscape($str, $type)
{
    
    if ($type == "s" || $type == "")
        $str = str_replace("'", "\'", $str);
    if ($type == "d" || $type == "")
        $str = str_replace('"', '\"', $str);
    
    return $s

function createTempFileName($file_name)
{
    global $serverTmp;
    
    //return $serverTmp . "/" . $file_name . "." . uniqid("mftp.", true);
    
    // Attempt to get a $serverTmp var if not set by user
    if ($serverTmp == "")
        $serverTmp = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
    
    return tempnam($serverTmp, $file_name);
}

?>