如何从输入类型按钮清除服务器端html文件的内容

问题描述 投票:0回答:3

我是PHP新手。我想使用(html)输入类型=按钮使html的内容为空。我在网上搜索,如果我使用fopen(file.html,w +),它将清除文件内容“” w +“(读/写。打开并清除文件的内容;如果不存在,则创建一个新文件)”。来源:http://www.w3schools.com/php/func_filesystem_fopen.asp

我的问题是可能缺少一些代码或语法错误。因为当我按下按钮时什么也没发生。

我真的不知道,也找不到在万维网上的任何东西,这可能真的很简单。如果我把问题写错了,请提前抱歉。

HTML代码

 <input type="button" name="clearlog" id="clearlog" value="Clearlog" class="btn btn-default">

PHP代码:

<?php

    // clear log
if(isset($_POST['clearlog']))
    {
        function cleartlog()
        {
            $fp = fopen("log.html", 'w+');
            fwrite($fp, "");
            fclose($fp);            
        }
    }
?>

PHP代码在外部文件中,但在我的index.php中是必需的

PS:使用“ ftruncate”功能更好吗?

来源:http://www.w3schools.com/php/func_filesystem_ftruncate.asp

javascript php html button
3个回答
0
投票

您在这里试图做的事情远远超出了您当前的理解范围。您没有将该按钮与任何代码关联的任何内容。该按钮要么是提交到php文件的表单的一部分,要么您需要向其添加javascript click事件监听器,然后它将向服务器(php)发送ajax请求以调用您的php代码。

将表单直接提交到php文件(需要页面加载)是一种过时的做法。首选使用Ajax。

逻辑很简单:

将JavaScript单击事件监听器附加到按钮。click函数会将ajax请求发送到要运行您的php代码的页面。jQuery不是必需的,但是使用jQuery,ajax调用可以像$.get('foo.php)一样简单。然后执行foo.php上的任何php代码。


0
投票

您应该使用将连接到服务器的表单,PHP应该清除log.html文件。

<form action="wipeFileContents.php">

<input type="submit" value="Clear Log File">

</form>

这将是最简单的解决方案,尽管您可以采用较硬的AJAX方法,该方法在理论上较快,但需要学习javascript。


0
投票

您可以尝试以下操作:

HTML

<form action='myfile.php'>
  <input type="submit" value="clear">
</form>

PHP

if(isset($_POST['clear']))
{
  file_put_contents("log.html", "");
}
© www.soinside.com 2019 - 2024. All rights reserved.