写入var / www之外的文件

时间:2014-05-12 12:00:56

标签: php html raspbian

如何处理写入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>

没有任何回应。没有错误,文件中没有输出,没有任何内容。

P.S。请注意,它应该是/sys/class/leds/led0/brightness 而不是/sys/class/leds/led0/brightness.txt

这是一个纯文件,而不是一个文本。

如果这是100%倒退我很抱歉,我是HTML和网络编程的新手:)

1 个答案:

答案 0 :(得分:0)

由于你在锉刀上没有太多记忆,我假设你正在使用它与nginx + php-fpm而不是缓慢而沉重的Apache。使用php-fpm,您可以轻松地由其所有者运行PHP脚本,因此您只需将脚本所有者更改为root,确保脚本正常工作(安全性!),然后您可以编写所需的任何文件。

chown root:www-data <script that writes to sys file>

<?php
exec('echo ' . intval($value) . ' > /sys/class/leds/led0/brightness');