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 » » Если скрипт не работает » Подскажите в чем ошибка

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

1. Terman - 07 Февраля, 2012 - 19:06:15 - перейти к сообщению
Всем привет, написал скрипт замены пароля, но почему то он не работает, подскажите в чем ошибка?????
PHP:
скопировать код в буфер обмена
  1. function set_pass($pass) {
  2. $pass=$pass;
  3. $filename = "server.cfg";
  4. $conf='';
  5. $temp=array();
  6. $temp2=array();
  7. $txt='';
  8. $conf = file_get_contents( $filename);
  9. $temp=explode('password',$conf);
  10. unset($temp2[0]);
  11. $txt=$temp[0].'password "'.$pass.'" '.implode('///',$temp2);
  12. if(!file_put_contents($filename,$txt)) {
  13. echo "error <br>";
  14. }
  15. }
  16. $passw = "1122112211221122";
  17. set_pass($passw);
2. OrmaJever - 07 Февраля, 2012 - 19:16:04 - перейти к сообщению

Вау, что вы хотели сказать этой строкой?))
Для начала нужно бы разобратся в какой формате лежат даные в файле?
3. Terman - 07 Февраля, 2012 - 19:26:21 - перейти к сообщению
[quote=OrmaJever][/quote]Спасибо) забыл права на файл изменить...
это у меня так пароль передается Голливудская улыбка

Скажите я не смог сделать так что бы все строки файла выводились, смог сделать только для определенной строки... как сделать что бы все строки вывело?

Конфиг имеет вид
password "pass"
nameserver "name"
maxup 10
add_p 12

и т.д... или хотя бы подскажите как сделать данный скрипт..
(Добавление)
Вот я нашел то что нужно ,но почему то не работает..
PHP:
скопировать код в буфер обмена
  1. function setcfg(){
  2.         $filename = "server.cfg";
  3.         $config = file_get_contents( $filename);
  4.         $config_a=array();
  5.         $config_a=explode("\n",$config);
  6.          echo $form;
  7.         $form ="
  8.        <style>
  9.        td.serv_conf {
  10.            width: 200px;
  11.            background:#F7F7F2 none repeat scroll 0 0;
  12.            border-color:#B6B7AC;
  13.            border-style:solid;
  14.            border-width:1px 1px 1px 4px;
  15.        }
  16.        .serv_conf p {
  17.            color:#6F6466;
  18.            line-height:17px;
  19.            margin:5px 0;
  20.            padding:0 9px;
  21.            padding-top:5px;
  22.        }
  23.        </style>
  24.        <table width=\"100%\" border=\"0\">";
  25.          for ($i=0;$i<count($config_a);$i++)
  26.          {
  27.           if ($config_a[$i]{1}!='' and $config_a[$i]{1}!=' ' and $config_a[$i]{1}!='/')
  28.             {
  29.               $param=array();
  30.               $temp=array();
  31.               $temp=explode(' ',$config_a[$i]);
  32.               $param[0]=trim($temp[0]);
  33.               $temp=explode(' /// ',$config_a[$i]);
  34.               if(isset($temp[1]))
  35.                {
  36.                $param[2]=iconv('UTF-8','windows-1251',trim($temp[1]));
  37.                $temp=explode('"',$config_a[$i]);
  38.                $param[1]=iconv('UTF-8','windows-1251',trim($temp[1]));
  39.                }
  40.               else
  41.               {
  42.                $temp=explode(' // ' ,$config_a[$i]);
  43.                 if(isset($temp[1]))
  44.                  {
  45.                    $param[2]=iconv('UTF-8','windows-1251',trim($temp[1]));
  46.                    $temp=explode(' ',$config_a[$i]);
  47.                    $param[1]=iconv('UTF-8','windows-1251',trim($temp[1]));
  48.                  }              
  49.               }
  50.                $temp=array();
  51.                $temp=explode('Вкл/Выкл',$param[2]);
  52.                if(!isset($temp[1]) and isset($param[2]) )
  53.                 $form.="<tr style=\"border: 1px #444 solid;\">
  54.                            <td width=\"10\">
  55.                                <div class=\"serv_conf\">
  56.                                    <label>".trim($param[0])."</label><br>
  57.                                    <input name=\"server[".trim($param[0])."]\" type=\"text\" value=\"".trim($param[1])."\" />
  58.                                </div>
  59.                            </td>
  60.                            <td width=\"10\">&nbsp;</td>
  61.                            <td>
  62.                                <div class=\"block-info\"><p>".trim($param[2])."</p></div>
  63.                            </td>
  64.                        </tr>";
  65.               elseif(isset($param[2]))
  66.                 {
  67.                   if($param[1]==1) {
  68.                     $optionone="<option value=\"1\" selected>1 - да</option>";
  69.                     $optiontwo="<option value=\"0\">0 - нет</option>";
  70.                    } else {
  71.                     $optionone="<option value=\"1\">1 - да</option>";
  72.                     $optiontwo="<option value=\"0\" selected>0 - нет</option>";
  73.                   }
  74.                   $form.="
  75.                        <tr style=\"border: 1px #444 solid;\">
  76.                            <td width=\"10\">
  77.                                <div class=\"serv_conf\">
  78.                                    <label>".trim($param[0])."</label><br>
  79.                                    <select name=\"server[".trim($param[0])."]\">$optionone $optiontwo</select>
  80.                                </div>
  81.                            </td>
  82.                            <td width=\"10\">&nbsp;</td>
  83.                            <td>
  84.                                <div class=\"block-info\"><p>".trim($param[2])."</p></div>
  85.                            </td>
  86.                        </tr>";
  87.                }                                
  88.             }
  89.          }
  90.  
  91.         $form=$form."</table>";
  92.        return $form;
  93.        }
  94.        
4. OrmaJever - 07 Февраля, 2012 - 19:59:54 - перейти к сообщению
Ну если пароль находится всегда в первой строке то например так
PHP:
скопировать код в буфер обмена
  1. $filename = 'filename';
  2. $pass = 'pass';
  3. $f = file( $filename );
  4. preg_replace('#password "(.+?)"#i', "password \"$pass\"", $f);
  5. file_put_contents( $filename, join("\r\n", $f) );
5. Terman - 07 Февраля, 2012 - 20:18:23 - перейти к сообщению
Спойлер (Отобразить)



Вот все что смог найти, но не могу понять как это работает, и как его использовать... если можете помогите пожалуйста..

 

Powered by ExBB FM 1.0 RC1