Рубрика: PHP
Здесь собраны статьи, наработки, исправление ошибок и решение проблем связанных с разработкой на языке PHP
Ajax при помощи ExtJS
Задача: используя ExtJS получить некое значение из стороннего PHP скрипта и передать его в поле input.
Вероятно можно и более элегантно, но не захотелось тратить время на изучение этого фреймворка..
|
1 2 3 4 5 6 7 8 9 10 11 12 |
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; } }); }); |
Сохранение/чтение содержимого массива в файл
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#записать в файл 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
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$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
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
<?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
