问题一六
write.php不使用脚本的话
用下面的PHP自己的函数也是OK
<?php
echo "Write Success!\n";
define('RASPI_CONFIG_DETAILS', '/var/configjson');
$ws_addr2="Hello world1";
$token2="Hello world2";
$ble_name2="Hello world3";
if (!file_exists(RASPI_CONFIG_DETAILS)) {
$raw_file = fopen(RASPI_CONFIG_DETAILS, 'w');
fclose($raw_file);
}
if ($raw_file = fopen(RASPI_CONFIG_DETAILS, 'w')) {
fwrite($raw_file, $ws_addr2.PHP_EOL);
fwrite($raw_file, $token2.PHP_EOL);
fwrite($raw_file, $ble_name2.PHP_EOL);
fclose($raw_file);
}
?>
但是网页调用 不行啊 好像是参数传过去的时候不是字符串!
换一个测试
<?php
echo "Write Success!\n";
define('RASPI_CONFIG_DETAILS', '/var/configjson');
$ws_addr2=1;
$token2=2;
$ble_name2=3;
if (!file_exists(RASPI_CONFIG_DETAILS)) {
$raw_file = fopen(RASPI_CONFIG_DETAILS, 'w');
fclose($raw_file);
}
if ($raw_file = fopen(RASPI_CONFIG_DETAILS, 'w')) {
fwrite($raw_file, $ws_addr2.PHP_EOL);
fwrite($raw_file, $token2.PHP_EOL);
fwrite($raw_file, $ble_name2.PHP_EOL);
fclose($raw_file);
}
?>
本地也是OK
root@raspberrypi:/home/pi# php /var/www/html/write.php
Write Success!
root@raspberrypi:/home/pi# cat /var/configjson
1
2
3
root@raspberrypi:/home/pi#
增加LOG 看到网页点击写的时候 YES没有出来
<?php
echo "Write Success!\n";
define('RASPI_CONFIG_DETAILS', '/var/configjson');
$ws_addr=$_POST["ws_addr"];
$token=$_POST["token"];
$ble_name=$_POST["ble_name"];
if (!file_exists(RASPI_CONFIG_DETAILS)) {
$raw_file = fopen(RASPI_CONFIG_DETAILS, 'w');
fclose($raw_file);
echo "YES!\n";
}
if ($raw_file = fopen(RASPI_CONFIG_DETAILS, 'w')) {
fwrite($raw_file, $ws_addr2.PHP_EOL);
fwrite($raw_file, $token2.PHP_EOL);
fwrite($raw_file, $ble_name2.PHP_EOL);
fclose($raw_file);
echo "YES!\n";
}
echo $ws_addr;
echo $token;
echo $ble_name;
?>
问题一流在此
++++++++++++
wite
<?php
echo "Write Success!\n";
$ws_addr = ($_POST['ws_addr']);
$token = ($_POST['token']);
$ble_name = ($_POST['ble_name']);
shell_exec("sudo /var/cfgwrite.sh $ws_addr $token $ble_name");
?>
这样也是可以的!!!
不要那个转化函数
++++++++++++++++++
展示的首页 预先载入数据
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>movella</title>
</head>
<body>
<form action="write.php" method="post">
ws_addr:
<input type="text" name="ws_addr" value="$ws_addr" size="88"><br />
token:
<input type="text" name="token" value="<?php echo htmlspecialchars($token, ENT_QUOTES); ?>" size="88"><br />
ble_name:
<input type="text" name="ble_name" value="<?php echo htmlspecialchars($ble_name, ENT_QUOTES); ?>" size="88"><br />
<input type="submit" value="write_submit">
</form>
<form action="read.php" method="post">
<input type="submit" value="read_submit"><br />
</form>
<form action="wifi.php" method="post">
wifiname:
<input type="text" name="wifiname"><br />
wifipwd:
<input type="text" name="wifipwd"><br />
<input type="submit" value="wifiset">
</form>
</body>
</html>
效果也是不行 下面这样还是可以
<input type="text" name="ws_addr" value=2 size="88"><br />
准备莫让gui这样加载 不知道怎么调用
define('RASPI_CONFIG_DETAILS', RASPI_CONFIG . '/configjson');
function getConfig()
{
$config = array(
'ws_addr' => '192.168.4.1:8080',
'token' => 'www.baidu.com',
'ble_name' => 'koson'
);
if (file_exists(RASPI_CONFIG_DETAILS)) {
if ($file_details = fopen(RASPI_CONFIG_DETAILS, 'r')) {
$config['ws_addr'] = trim(fgets($file_details));
$config['token'] = trim(fgets($file_details));
$config['ble_name'] = trim(fgets($file_details));
fclose($file_details);
}
}
return $config;
}
$config = getConfig();
case "/auth_conf":
DisplayAuthConfig($config['admin_user'], $config['admin_pass']);
|