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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подскажите в чем ошибка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Terman
Отправлено: 07 Февраля, 2012 - 19:06:15
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Всем привет, написал скрипт замены пароля, но почему то он не работает, подскажите в чем ошибка?????
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);
 
 Top
OrmaJever Модератор
Отправлено: 07 Февраля, 2012 - 19:16:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)





Вау, что вы хотели сказать этой строкой?))
Для начала нужно бы разобратся в какой формате лежат даные в файле?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Terman
Отправлено: 07 Февраля, 2012 - 19:26:21
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




[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.        
 
 Top
OrmaJever Модератор
Отправлено: 07 Февраля, 2012 - 19:59:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Ну если пароль находится всегда в первой строке то например так
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) );


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Terman
Отправлено: 07 Февраля, 2012 - 20:18:23
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Спойлер (Отобразить)



Вот все что смог найти, но не могу понять как это работает, и как его использовать... если можете помогите пожалуйста..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB