我是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
您在这里试图做的事情远远超出了您当前的理解范围。您没有将该按钮与任何代码关联的任何内容。该按钮要么是提交到php文件的表单的一部分,要么您需要向其添加javascript click事件监听器,然后它将向服务器(php)发送ajax请求以调用您的php代码。
将表单直接提交到php文件(需要页面加载)是一种过时的做法。首选使用Ajax。
逻辑很简单:
将JavaScript单击事件监听器附加到按钮。click函数会将ajax请求发送到要运行您的php代码的页面。jQuery不是必需的,但是使用jQuery,ajax调用可以像$.get('foo.php)
一样简单。然后执行foo.php
上的任何php代码。
您应该使用将连接到服务器的表单,PHP应该清除log.html文件。
<form action="wipeFileContents.php">
<input type="submit" value="Clear Log File">
</form>
这将是最简单的解决方案,尽管您可以采用较硬的AJAX方法,该方法在理论上较快,但需要学习javascript。
您可以尝试以下操作:
HTML
<form action='myfile.php'>
<input type="submit" value="clear">
</form>
PHP
if(isset($_POST['clear']))
{
file_put_contents("log.html", "");
}