如何在Javascript中访问PHP方法?

我已经制作了一个删除文件的方法。 首先我回复这个文件的URL。 像这样

echo "$filename"; 

现在basicaly我想调用函数deletefile($file); 我怎么能这样做呢

 echo "deletefile($filename)' href='https://stackoverflow.com/questions/2139890/how-to-access-php-methods-inside-a-javascript/$fulr'>$filename"; 

那甚至可以吗?

或者我如何在PHP代码中实现类似的东西?

您似乎对浏览器/服务器通信有错误的想法。 你需要做:

    ", $filename, $filename); ... ?> 

在服务器中,以便链接转到服务器上的脚本,或使用JavaScript。 我建议使用jQuery的post()函数或类似的AJAX函数:

 $.post("delfile.php", { file: \"$filename\" } ); 

记住: 安全性,安全性,安全性……然后是优雅的降级

并且感谢waiwai933,David Dorward允许我“快速地忘记了基本点上的树木”。

在这种情况下,PHP在Web服务器上运行并将一些输出发送到浏览器。

然后,浏览器将该输出作为JavaScript处理。

没有办法直接访问PHP。 您必须将HTTP请求发送回服务器。

这可能是一个简单的链接(但不要对删除文件操作,GET操作应该是安全的(或者机器人将遍历您的网站并删除所有内容),表单,或者如果您真的想要涉及JavaScript – XHR (或可用​​于执行Ajax的其他一些对象) .YUI或jQuery等库可以帮助您解决繁重的问题。

无论哪种方式(表单或Ajax),您最终都可能会在POST数据中放置有关要删除的文件的数据。 您的PHP脚本将读取此内容(从$_POST并调用您想要的函数)。

…如果你确实沿着Ajax路线走下去,不要忘记建立有用的东西 。

你不能从你的Javascript调用PHP代码。

您可以做的是(假设这发生在Web服务器上)将GET / POST放到PHP脚本中,传入任何必要的参数,以执行正确的PHP方法。

从PHP内部来看,它更容易一些。 如果你正在吐出HTML,你可以添加一个脚本节点来调用Javascript函数(或者只是运行一些Javascript)。

你不能这样做,因为javascript无法执行PHP代码,你不能用JavaScript删除文件所以我认为你必须做这样的事情:

 if(isset($_GET['delete'])) unlink($_GET['delete']); .... echo "$filename"; 

你可以这样做:

php:我们称之为deletefile.php

  

jQuery的:

 $('a').click(function(){ $.ajax({ method: 'POST', url: 'deletefile.php', data: "filename=" + $(this).text(), success: function(data) { alert('File deleted.'); } }); return false; }); 

HTML:

 filename  

你不能从你的Javascript调用PHP代码。

但你可以使用xajax来做到这一点

或者查看这篇文章 。 这将是使用ajax的更好解决方案

如果你想从Javascript中调用PHP函数,那么这就差不多了: http : //www.phplivex.com/

我多次使用这个lib,我真的很喜欢它。