簡體   English   中英

在var / www外部寫入文件

[英]Writing to file outside var/www

如何寫入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>

沒有任何回應。 沒有錯誤,文件中沒有輸出,什么都沒有。

PS請注意,它應該是/sys/class/leds/led0/brightness而不是/sys/class/leds/led0/brightness.txt

這是一個純文件,而不是txt。

如果這是100%倒退,我深表歉意,我是HTML和Web編程新手:)

由於您在銼刀上沒有太多內存,因此我假設您將其與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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM