我有一个文件下载网址列表,将显示给用户,用户点击它会触发下载。我使用以下代码:
echo "<a href=$val1 download=\"$fileId.$fileformat\".>Click Here To Download</a>";
但是如何更改它以便调用函数而不是下载,因为我需要在下载之前进行一些处理。我使用了以下但不起作用:
echo "<a href=$val1 onclick=func($val1,$fileId,$fileformat)>Click Here To Download</a>";
还有其他方法从超链接调用函数吗?
我尝试使用if(isset($ _ GET ['id']))方式,但我有一个链接列表,我需要向用户显示,当用户点击一个链接而不是传递给函数来触发下载。
答案 0 :(得分:2)
你不能直接从html调用php函数。
您的问题的解决方案是调用将运行该函数的php文件并返回文件以供下载
实施例
<a href="download-file.php?val1=$val1&fileId=$fileId&fileFormat=$fileFormat">Click Here To Download</a>
你的donwload-file.php文件检查并验证$ _GET,你将运行返回结果所需的函数。
答案 1 :(得分:0)
试试这个,
echo "<a href='javascript:;' onclick=func('".$val1."','".$fileId."','".$fileformat."')>
Click Here To Download</a>";
答案 2 :(得分:0)
$("#link_id").click(function() {
//Your code here
});
echo "<a href=$val1 download=\"$fileId.$fileformat\". id='link_id'>Click Here To Download</a>";
答案 3 :(得分:0)
启动php函数“onclick”的唯一方法是使用$ _GET []。
有两种方法可以做到这一点:
你href一个变量,例如。触发器。
<a href="?variable=value">click</a>
<?php
if(isset($_GET['variable'])) {
$variable = $_GET['variable'];
/* now you can either directly execute your
function, create a switch or an if/elseif block */
switch($variable) {
case "file1":
function myFunction() {
/* your function */
}
break 1;
}
}
?>
您创建了一个类(OOP)并将其包含在您的文件中:
<?php
$trigger = $_GET['trigger'];
include "include_path/class_name.php";
?>
类:
<?php
class ClassName {
function ClassName() {
global $trigger;
if($trigger == "value1") {
// your function
}
if($trigger == "value2") {
$this->myFunction();
}
if($trigger == "value3") {
$otherClassName->myOtherFunction();
}
}
}
?>