Архив рубрики: PHP

Ajax при помощи ExtJS

Задача: используя ExtJS получить некое значение из стороннего PHP скрипта и передать его в поле input.
Вероятно можно и более элегантно, но не захотелось тратить время на изучение этого фреймворка..

Ext.onReady(function(){
var agrmnum=document.getElementById('_agreement_').value;
Ext.Ajax.request({
url : 'http://eowirfoei.ru/ofdierofi.php?agrm_id='+agrmnum,
async   : false,
failure : function(){alert('Error');},
success : function(response){
    //alert(response.responseText);
   document.getElementById('_PaySum').value = response.responseText;
}    
});
});

Сохранение/чтение содержимого массива в файл

#записать в файл
function object2file($value, $filename){
    $str_value = serialize($value);    
    $f = fopen($filename, 'a');
    fwrite($f, $str_value);
    fclose($f);
}
#прочитать из файла
function object_from_file($filename){
    $file = file_get_contents($filename);
    $value = unserialize($file);
    return $value;
}

Закачка файла с FTP сервера на PHP

 $connect = ftp_connect($ip);
  if(!$connect){
    die("Ошибка соединения");
  } else {
    echo("Соединение установлено</br>");  
  };

  
  if (ftp_login($connect, $ftplogin, $ftppass)==true){
      echo("Вход по именем $ftplogin -ok</br>");  

        // включение пассивного режима
      ftp_pasv($connect, true);
      
      
      // загрузка файла 
      if (ftp_put($connect, "$path/informer.ts", "$path/$astra_id/informer.ts", FTP_BINARY)) {
       echo "$path/$astra_id/informer.ts успешно загружен на сервер</br>";
      } else {
       echo "Не удалось загрузить $path/$astra_id/informer.ts на сервер</br>";
      }

      // закрытие соединения
      ftp_close($connect);
      
      
  }else {
      die("Ошибка входа");
  };
  

Определение состояния порта на свичах Dlink на PHP

<?php

// Данный код создан и распространяется по лицензии GPL v3
// Изначальный автор данного кода - Грибов Павел
// http://грибовы.рф

function GetEnt($res){
    $zz=explode("INTEGER:", $res);
    if (is_array($zz)==true) {return trim($zz[1]);} else
    {return "";};
};

//запускаем тест проверки кабеля

 $res=shell_exec("snmpset -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port i 1");
 $res=GetEnt($res);
 if ($res=="1"){
 //проверяем что он завершился:
 $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port");
 $res=GetEnt($res);
 if ($res!="3"){
     //еще разок тестанем!
     $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port");
     $res=GetEnt($res);
 };
 if ($res=="3"){
   //есть ли линк?
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.3.$port");
   $res=GetEnt($res);
   if ($res=="1"){echo "-линк есть</br>";} else {echo "-линка нет</br>";};
   //состояние 1 пары
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.4.$port");
   $res=GetEnt($res);
   if ($res=="0"){echo "-1 пара ОК</br>";} else {echo "-1 пара BAD</br>";};
   //состояние 2 пары
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.5.$port");
   $res=GetEnt($res);
   if ($res=="0"){echo "-2 пара ОК</br>";} else {echo "-2 пара BAD</br>";};
   //состояние 3 пары
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.6.$port");
   $res=GetEnt($res);
   if ($res=="0"){echo "-3 пара ОК</br>";} else {echo "-3 пара BAD</br>";};
   //состояние 4 пары
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.7.$port");
   $res=GetEnt($res);
   if ($res=="0"){echo "-4 пара ОК</br>";} else {echo "-4 пара BAD</br>";};
   
   //определяем длинну пар
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.8.$port");
   $res=GetEnt($res);
   echo "-длина 1 пары $res</br>";
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.9.$port");
   $res=GetEnt($res);
   echo "-длина 2 пары $res</br>";
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.10.$port");
   $res=GetEnt($res);
   echo "-длина 3 пары $res</br>";
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.11.$port");
   $res=GetEnt($res);                              
   echo "-длина 4 пары $res</br>";
   
   //Определяем состояние кабеля
   $res=shell_exec("snmpset -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port i 1");
   $res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.4.$port");
   $res=GetEnt($res);
   if ($res=="8") {echo "-Кабель не подключен</br>";};
   if ($res=="1") {echo "-Кабель воткнут с одной стороны (второй конец висит в воздухе)</br>";};
     
   
 } else {
 ?>
    <div class="alert alert-error">
        Не удалось завершить опрос пары!
    </div>
 <?php
};
 } else {
 ?>
    <div class="alert alert-error">
        Не удалось выполнить SNMP запрос!
    </div>
 <?php
};

Сделано по мотивам: http://wiki.sirmax.noname.com.ua/index.php/Dlink_Cable_Tester