问:我正在尝试将文件名传递给函数,但不知道如何通过单击链接来调用函数。我的index.php的顶部是:
<?php
$filename = NULL;
session_start();
// start of script every time.
// setup a path for all of your canned php scripts
$php_scripts = '/home/larry/web/test/php/'; // a folder above the web accessible tree
// load the pdo connection module
require $php_scripts . 'PDO_Connection_Select.php';
require $php_scripts . 'GetUserIpAddr.php';
require $php_scripts . 'mydloader.php';
//*******************************
// Begin the script here
$ip = GetUserIpAddr();
if (!$pdo = PDOConnect("foxclone")):
{
echo "Failed to connect to database" ;
exit;
}
else:
{
$stmt = $pdo->prepare("INSERT INTO download (IP_ADDRESS, FILENAME) VALUES (?, ?)");
$stmt->execute([$ip,$filename]) ;
}
endif;
?>
<DOCTYPE html>
我想将其更改为:
<a href="<?php echo "/{$deb}";?>"><img src="images/button_download.png" alt=""></a>
哪个直接下载了文件以能够调用“ require $ php_scripts。'mydloader.php';”中的函数,所以我可以在服务器数据库中进行输入并下载文件,但是我不知道从哪里开始。
答:如果仅在将文件名放入url时就得到了iso映像,mysite.com/downloads/someiso.iso则您的Web服务器(如Apache)将文件提供给用户。它可以工作,但是我不知道通过Apache控制谁可以下载它的方法(也许它确实存在,但我不知道)。如果您这样做的话,任何可以将URL粘贴mysite.com/downloads/someiso.iso到浏览器中的人都可以下载ISO。
在我之前介绍的PHP方法中,iso文件可以位于Internet上不可用的本地目录中,您可以使用PHP控制对它们的访问。如果ISO是公开的,而您不介意是谁得到的,则将它们放在Web目录中将是一种简便的方法。您可以监视Apache中的访问日志,以便在某种程度上了解谁在访问文件(IP地址和站点cookie等)。我认为您可以使用PHP更好地控制它。