【发布时间】:2016-10-07 19:05:12
【问题描述】:
我试图简单地用在 PHP 的文本框中输入的数字覆盖一个 txt 文件。 PHP 和文本文件都在我的 apache2 服务器的 html 目录中。每次执行时它只显示 die() 字符串。我也尝试使用 fwrite() 获得相同的结果。任何帮助将非常感激。
<HTML>
<TITLE>Home Automation Interface</TITLE>
<BODY>
<H1>Air Conditioning Power(Relay 1)</H1>
<H2>Turn AC On/Off</H2>
<H3>
<p>
<form action="relayToggle.php" method="get">
<input type="submit" value="AC Power">
</form>
</p>
<form method= "post" action = "homeInter.php">
<p>
<label for="acTemp">AC temperature (F):</label><br/>
<input type="text" id="temp" name="temp">
</p>
<button type="submit" name="submit" value="send">Change Temperature</button>
</form>
<p><strong>
<?php
$temp= $_POST['temp'];
echo $temp;
file_put_contents("/var/www/html/temp.txt", (string)$temp) or die("Unable to open file!");
?>
}
}
?>
</strong>
</p>
</H3>
</BODY>
</HTML>
【问题讨论】:
-
什么杀死字符串? “无法打开”?然后你必须弄清楚为什么你不能写入那个文件。这几乎肯定是一个许可问题。请注意,无论是否提交了表单,您的代码都会在表单加载时每次运行。您可能应该在将未定义/不存在的值写入文件之前测试实际帖子。
-
另外,由于您在同一个文件中使用此代码,请使用
isset()和/或!empty()。您应该在这里立即获得未定义的索引通知。 php.net/manual/en/function.error-reporting.php -
“任何帮助将不胜感激。” - 你有。 ^