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);
}
?>