Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Достать текс из конфига,отредактировать и положить на место
Форумы портала PHP.SU » » HTTP и PHP » Достать текс из конфига,отредактировать и положить на место

Страниц (1): [1]
 

1. k0ma - 21 Апреля, 2016 - 05:22:49 - перейти к сообщению
День добрый, половину кода уже написал, могу достать содержимое конфигурационного(любого) текстового файла, в textarea. Достаю нужный мне документ при нажатии на определенную кнопку, после редактирования не могу положить измененный текст в переменную и положить все это в тот же самый файл и сохранить.

index.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. ini_set('display_errors' , 'On');
  3. echo "<html><head></head><body>";
  4. echo "<form action='edit.php' method = 'post'>";
  5. echo "<input type = 'submit' name = 'button1' value = 'edit.1'><br>";
  6. echo "<input type = 'submit' name = 'button2' value = 'edit.2'><br>";
  7. echo "<input type = 'submit' name = 'button3' value = 'edit.3'><br></form>";
  8. echo "</body></html>";?>
  9.  

edit.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. ini_set('display_errors' , 'On');
  3. if($_POST['button1']){
  4.        $data=file_get_contents('/usr/local/etc/config.cfg');
  5.        echo " <br><textarea rows='20' cols='70'>".$data."</textarea>";}
  6. if($_POST['button2']){
  7.        $data=file_get_contents('/usr/local/etc/config2.cfg');
  8.        echo "<br><textarea rows='20' cols='70'>".$data."</textarea>";}
  9. if($_POST['button3']){
  10.        $data=file_get_contents('/usr/local/etc/config3.cfg');
  11.        echo "<br><textarea rows='20' cols='70'>".$data."</textarea>";}
  12. echo "<br><a href='index.php'>index.php</a>";
  13. echo "<form action='save.php' method='post'>";
  14. echo "<input type=submit name='save' value='save'>";
  15. echo "</form>";?>


С файлом save.php борьба.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. echo "<a href='index.php'>index.php</a><br>";
  3. if(isset($data)){
  4. echo "ok";
  5. }else{echo "no";}
  6. ?>

Не могу передать $data и в правильный файл ложить данные.
2. k0ma - 21 Апреля, 2016 - 12:38:29 - перейти к сообщению
Все сделал, кому надо вот листинг
index.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. ini_set('display_errors' , 'On');
  3.  
  4. echo "<html><head></head><body>";
  5. echo "<form action='edit.php' method = 'post'>";
  6. echo "<input type = 'submit' name = 'button1' value = 'edit.1'><br>";
  7. echo "<input type = 'submit' name = 'button2' value = 'edit.2'><br>";
  8. echo "<input type = 'submit' name = 'button3' value = 'edit.3'><br></form>";
  9.  
  10. echo "</body></html>";
  11. ?>

edit.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. ini_set('display_errors' , 'On');
  3. $conf1="/usr/local/etc/config.cfg";
  4. $conf2="/usr/local/etc/config2.cfg";
  5. $conf3="/usr/local/etc/config3.cfg";
  6.  
  7. echo "<br><a href='index.php'>index.php</a><br>";
  8.  
  9. if($_POST['button1']){
  10.        echo "<form action='save.php' method='post'>";
  11.        $data=file_get_contents("$conf1");
  12.        $text=" <br><textarea rows='20' name='text1' cols='70'>".$data."</textarea>";
  13.        echo "$text";
  14.        echo "<input type='submit' name='save' value='save'>";
  15.        echo "</form>";
  16.        }
  17.  
  18. if($_POST['button2']){
  19.        echo "<form action='save.php' method='post'>";
  20.        $data=file_get_contents("$conf2");
  21.        $text="<br><textarea rows='20' name='text2' cols='70'>".$data."</textarea>";
  22.        echo "$text";
  23.        echo "<input type='submit' name='save' value='save'>";
  24.        echo "</form>";
  25.        }
  26. if($_POST['button3']){
  27.        echo "<form action='save.php' method='post'>";
  28.        $data=file_get_contents("$conf3");
  29.        $text="<br><textarea rows='20' name='text3' cols='70'>".$data."</textarea>";
  30.        echo "$text";
  31.        echo "<input type='submit' name='save' value='save'>";
  32.        echo "</form>";
  33.        }
  34. ?>
  35.  

save.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. echo "<a href='index.php'>index.php</a><br>";
  3. $conf1="/usr/local/etc/config.cfg";
  4. $conf2="/usr/local/etc/config2.cfg";
  5. $conf3="/usr/local/etc/config3.cfg";
  6. if(isset($_POST['save'])){
  7. #echo "save  <br>";
  8. if(isset($_POST['text1'])) {
  9.        file_put_contents($conf1,$_POST['text1'],LOCK_EX);
  10. #       echo (htmlspecialchars($_POST['text1']))."<br>";
  11.        }
  12. #        else {
  13. #       echo "null text1<br>";
  14. #       }
  15. if(isset($_POST['text2'])){
  16.        file_put_contents($conf2,$_POST['text2'],LOCK_EX);
  17. #       echo (htmlspecialchars($_POST['text2']))."<br>";
  18.        }
  19. #       else {
  20. #       echo "null text2<br>";
  21. #       }
  22. if(isset($_POST['text3'])){
  23.        file_put_contents($conf3,$_POST['text3'],LOCK_EX);
  24. #        echo (htmlspecialchars($_POST['text3']))."<br>";
  25.        }
  26. #        else {
  27. #       echo "null text3<br>";
  28. #       }
  29. }else{
  30. echo "not good";
  31. }
  32. ?>


Вопрос в следующем, почему на одной машине Freebsd этот скрипт работает, а на второй такой же Freebsd оси, этот скрипт не работает?В момент вызова file_get_contents он не выдает содержимое файла. Файлу даны права www:www и 777.
3. Viper - 21 Апреля, 2016 - 23:17:23 - перейти к сообщению
k0ma пишет:
В момент вызова file_get_contents он не выдает содержимое файла.
ну а ошибки? Логи php включены(?) и что говорят?
4. k0ma - 22 Апреля, 2016 - 04:51:22 - перейти к сообщению
Все заработало, был косяк в коде, всем спасибо.

 

Powered by ExBB FM 1.0 RC1