我是PHP的新手。我想使用 (HTML) 输入类型 = 按钮使 HTML 的内容为空。
我搜索了网络,如果我使用fopen(file.html,w+)
,它将清除文件内容:
"w+"(读/写。打开并清除文件的内容;或者创建一个新文件(如果不存在)"。
来源: http://www.w3schools.com/php/func_filesystem_fopen.asp
我的问题是可能缺少一些代码或语法错误,因为当我按下按钮时没有任何反应。
我真的不知道,在万维网上找不到任何东西,这可能很简单。如果我写错了问题,提前抱歉。
网页代码
<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 单击事件侦听器,然后向服务器 (php) 发送 ajax 请求以调用您的 php 代码。
表单直接提交到 php 文件(需要页面加载)是一种过时的做法。最好使用 Ajax。
逻辑很简单:
将 JavaScript 单击事件侦听器附加到按钮。
单击函数会将 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", "");
}