【发布时间】:2014-05-12 12:00:55
【问题描述】:
将如何写入 var/www/ 目录之外的文件?
我正在尝试写入“/sys/class/leds/led0/brightness”,这是一个控制 Raspberry Pi 上板载 LED 亮度的文件,但我认为 var/ 之外的所有文件都是相同的www/.
我已经设置了权限,任何人都可以通过使用来读/写
sudo chmod -R 777 /sys/class/leds/led0
这是我的 HTML/php 代码:
<?php
if(isset($_GET['button1'])) {
toggle();
}
function toggle()
{
error_reporting(E_ALL);
$f = fopen("/sys/class/leds/led0/brightness", "r");
$value = fgets($f);
fclose($f);
if ($value = "1") {
$value = "0";
} elseif ($value = "0") {
$value = "1";
}
$f = fopen("/sys/class/leds/led0/brightness", "w+");
fwrite($f, $value);
fclose($f);
}
?>
<html><body>
<h1>Hello World!</h1>
<input type=button onClick='location.href="?button1"' value='Toggle Lamp'>
</body></html>
没有任何回应。没有错误,文件中没有输出,什么都没有。
附:请注意,它应该是/sys/class/leds/led0/brightness
而不是/sys/class/leds/led0/brightness.txt
这是一个普通文件,不是 txt。
如果这是 100% 倒退,我深表歉意,我是 HTML 和一般网络编程的新手 :)
【问题讨论】:
-
你得到什么错误? (请注意,您首先打开
brightness进行读取 - 然后写入brightness.txt- 它不是同一个文件) -
您希望获得什么价值?
-
编辑:忽略。我将再次尝试修复 h2oooooooo 指出的错误
-
您运行代码,如果出现错误,您将在 PHP/webserver 错误日志中得到它(以及错误 500),或者您会在页面本身上看到它。您可以通过使用
error_reporting(E_ALL)作为代码中的第一件事来强制错误。 -
$f = fopen("/sys/class/leds/led0/brightness", "r");需要 $f = fopen("/sys/class/leds/led0/brightness.txt", "r"); .您可以打开txt文件并检查您需要更改的值。