My users can browse my files but they where unable to download it. Here's my codes, please help. Thanks 🙂
<?php
// avoid notices from showing up
error_reporting(7);
// fetch $query variable
$query = trim ((!empty($HTTP_POST_VARS['query'])) ? $HTTP_POST_VARS['query'] : $HTTP_GET_VARS['query'] );
// basic FTP login
$ftp_cid = ftp_connect("192.168.0.2","20");
$login = ftp_login($ftp_cid,"Anonymous","guest");
$mode = ftp_pasv($ftp_cid, TRUE);
// verrify FTP connection
if ((!$ftp_cid) || (!$login) || (!$mode))
die("Maximum download request has been reached");
// check whether if it is a file or a directory
if (@!ftp_chdir($ftp_cid,$query) )
{
// it's a file, send it to the browser
// fetch the complete path
$filename = "ftp://anonymous:guest@server1:20" . $query;
// open the file
if ( !($fp = fopen($filename, 'r' )) )
die("Maximum download request has been reached");
//get the file
while (!feof($fp))
{
$buffer = fgets($fp, 4096);
$output = $output . $buffer;
}
// print the file
printf("%s", $output);
ftp_close($ftp_cid);
} else
{
// it's a directory, continue browsing
echo "<h1>guest " . ftp_pwd($ftp_cid) . "</h1><hr>";
$file_list = ftp_nlist($ftp_cid, "");
foreach ($file_list as $file)
{
echo "<br><a href=\"?query=". $query . "/" . $file ."\">$file</a>";
}
ftp_close($ftp_cid);
}
?>