Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/php
- <?php
- {
- error_reporting(0);
- // $path = '/media/audit/info/';
- $path = '/media/IT/Public/cpuz_log/';
- $mask = $path . "*.txt";
- $filename = glob($mask);
- $mysql_host = "localhost";
- $mysql_pass = "0SCJyxT1fl";
- $mysql_user = "parser";
- $mysql_base = "parser";
- $link = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
- if (!$link) {
- echo "Не могу подключиться к серверу MySQL\r\n";
- die();
- }
- if (!mysql_select_db($mysql_base, $link)) {
- echo "Не могу подключиться к базе данных\r\n";
- die();
- }
- function array_map_recursive($func, $array) {
- foreach ($array as $key => $val) {
- if ( is_array( $array[$key] ) ) {
- $array[$key] = array_map_recursive($func, $array[$key]);
- } else {
- $array[$key] = call_user_func( $func, $val );
- }
- }
- return $array;
- }
- function getMacAddr($computer_name)
- {
- $res = mysql_query("SELECT `mac` FROM `event` WHERE `comp_name`='{$computer_name}' ORDER BY `date` DESC LIMIT 1");
- if (mysql_num_rows($res) == 1) {
- $row = mysql_fetch_assoc($res);
- return $row['mac'];
- } else {
- return false;
- }
- }
- $storage = array();
- foreach ($filename as $k => $v) {
- $computer_name = pathinfo($v, PATHINFO_FILENAME);
- $mac = getMacAddr($computer_name);
- if (!$mac) {
- continue;
- }
- $data = array(
- 'computer_name' => $computer_name
- );
- $content = file_get_contents($v);
- $content = iconv('windows-1251', 'utf-8', $content);
- $arr = preg_split('/\r\n(.*?)\r\n-{73}\r\n/', $content);
- if (preg_match('/CPU-Z\sversion\t{0,}(.*)\r\n/', $arr[1], $match)) {
- $data['cpu_z_version'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Name\t{0,}(.*)\r\n/', $arr[5], $match)) {
- $data['processor_name'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Codename\t{0,}(.*)\r\n/', $arr[5], $match)) {
- $data['codename'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Specification\t{0,}(.*)\r\n/', $arr[5], $match)) {
- $data['specification'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Package\s\(platform\sID\)\t{0,}(.*)\r\n/', $arr[5], $match)) {
- $data['package_platform_id'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Northbridge\t{0,}(.*)\r\n/', $arr[7], $match)) {
- $data['northbridge'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Southbridge\t{0,}(.*)\r\n/', $arr[7], $match)) {
- $data['southbridge'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Memory\sType\t{0,}(.*)\r\n/', $arr[7], $match)) {
- $data['memory_type'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Memory\sSize\t{0,}(.*)\r\n/', $arr[7], $match)) {
- $data['memory_size'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Channels\t{0,}(.*)\r\n/', $arr[7], $match)) {
- $data['channels'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/Memory\sFrequency\t{0,}(.*)\r\n/', $arr[7], $match)) {
- $data['memory_frequency'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match_all('/\tManufacturer\s\(ID\)\t{0,}(.*)\r\n/', $arr[8], $match)) {
- $data['manufacturer'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- if (preg_match_all('/\tSize\t{0,}(.*)\r\n/', $arr[8], $match)) {
- $data['dimm_size'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- if (preg_match_all('/\tMax\sbandwidth\t{0,}(.*)\r\n/', $arr[8], $match)) {
- $data['dimm_max_bandwidth'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- if (preg_match_all('/\tPart\snumber\t{0,}(.*)\r\n/', $arr[8], $match)) {
- $data['part_number'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- if (preg_match('/Mainboard\sModel\t{0,}(.*)\r\n/', $arr[9], $match)) {
- $data['mainboard_model'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match_all('/\tTemperature\s\d\t{0,}(.*)\r\n/', $arr[11], $match)) {
- $data['temperature'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- if (preg_match('/\tFan\s\d\t{0,}(.*)\r\n/', $arr[11], $match)) {
- $data['fan'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/version\t{0,}(.*)\r\n/', $arr[13], $match)) {
- $data['dmi_bios_version'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/date\t{0,}(.*)\r\n/', $arr[13], $match)) {
- $data['dmi_bios_date'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/\tmodel\t{0,}(.*)\r\n/', $arr[13], $match)) {
- $data['dmi_baseboard_model'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/max\sCapacity\t{0,}(.*)\r\n/', $arr[13], $match)) {
- $data['dmi_max_capacity_phisical_memory'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/name\t{0,}(.*)\r\n/', $arr[18], $match)) {
- $data['display_adapter_name'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- } elseif (preg_match('/Board\sManufacturer\t{0,}(.*)\r\n/', $arr[18], $match)) {
- $data['display_adapter_name'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match('/memory\ssize\t{0,}(.*)\r\n/', $arr[18], $match)) {
- $data['display_adapter_memory_size'] = isset($match[1]) && !empty($match[1]) ? trim($match[1]) : NULL;
- }
- if (preg_match_all('/\tName\t{0,}(.*)\r\n/', $arr[14], $match)) {
- $data['storage_name'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- if (preg_match_all('/\tCapacity\t{0,}(.*)\r\n/', $arr[14], $match)) {
- $data['storage_capacity'] = isset($match[1]) && !empty($match[1]) ? array_map('trim', $match[1]) : NULL;
- }
- $data = array_map_recursive('addslashes', $data);
- // if($mac == '7054-d218-ebee'){
- // print_r($data);
- // }
- //$res = mysql_query("INSERT INTO `info` (`mac`,`computer_name`,`cpu_z_version`,`processor_name`,`codename`,`specification`,`package_platform_id`,`southbridge`,`northbridge`,`southbridge`,`memory_type`,`memory_size`,`channels`,`memory_frequency`,`manufacturer_0`,`manufacturer_1`,`manufacturer_2`,`manufacturer_3`,`dimm_size_0`,`dimm_size_1`,`dimm_size_2`,`dimm_size_3`,`dimm_max_bandwidth_0`,`dimm_max_bandwidth_1`,`dimm_max_bandwidth_2`,`dimm_max_bandwidth_3`,`part_number_0`,`part_number_1`,`part_number_2`,`part_number_3`,`mainboard_model`,`temperature_0`,`temperature_1`,`temperature_2`,`fan`,`dmi_bios_version`,`dmi_bios_date`,`dmi_baseboard_model`,`display_adapter_name`,`storage_name_0`,`storage_name_1`,`storage_name_2`,`storage_capacity_0`,`storage_capacity_1`,`storage_capacity_2`) VALUES ('{$mac}','{$computer_name}','{$data['cpu_z_version']}','{$data['processor_name']}','{$data['codename']}','{$data['specification']}','{$data['package_platform_id']}','{$data['northbridge']}','{$data['southbridge']}','{$data['memory_type']}','{$data['memory_size']}','{$data['channels']}','{$data['memory_frequency']}','{$data['manufacturer'][0]}','{$data['manufacturer'][1]}','{$data['manufacturer'][2]}','{$data['manufacturer'][3]}','{$data['dimm_size'][0]}','{$data['dimm_size'][1]}','{$data['dimm_size'][2]}','{$data['dimm_size'][3]}','{$data['dimm_max_bandwidth'][0]}','{$data['dimm_max_bandwidth'][1]}','{$data['dimm_max_bandwidth'][2]}','{$data['dimm_max_bandwidth'][3]}','{$data['part_number'][0]}','{$data['part_number'][1]}','{$data['part_number'][2]}','{$data['part_number'][3]}','{$data['mainboard_model']}','{$data['temperature'][0]}','{$data['temperature'][1]}','{$data['temperature'][2]}','{$data['fan']}','{$data['dmi_bios_version']}','{$data['dmi_bios_date']}','{$data['dmi_baseboard_model']}','{$data['display_adapter_name']}','{$data['storage_name'][0]}','{$data['storage_name'][1]}','{$data['storage_name'][2]}','{$data['storage_capacity'][0]}','{$data['storage_capacity'][1]}','{$data['storage_capacity'][2]}')");
- $sql = "INSERT INTO `info` (";
- $sql .= "`mac`,`computer_name`,`cpu_z_version`,`processor_name`,`codename`,`specification`,`package_platform_id`,`southbridge`,`northbridge`,`memory_type`,`memory_size`,`channels`,`memory_frequency`,`manufacturer_0`,`manufacturer_1`,`manufacturer_2`,`manufacturer_3`,`dimm_size_0`,`dimm_size_1`,`dimm_size_2`,`dimm_size_3`,`dimm_max_bandwidth_0`,`dimm_max_bandwidth_1`,`dimm_max_bandwidth_2`,`dimm_max_bandwidth_3`,`part_number_0`,`part_number_1`,`part_number_2`,`part_number_3`,`mainboard_model`,`temperature_0`,`temperature_1`,`temperature_2`,`fan`,`dmi_bios_version`,`dmi_bios_date`,`dmi_baseboard_model`,`display_adapter_name`,`storage_name_0`,`storage_name_1`,`storage_name_2`,`storage_capacity_0`,`storage_capacity_1`,`storage_capacity_2`";
- $sql .= ") VALUES (";
- $sql .= "'{$mac}','{$computer_name}','{$data['cpu_z_version']}','{$data['processor_name']}','{$data['codename']}','{$data['specification']}','{$data['package_platform_id']}','{$data['southbridge']}','{$data['northbridge']}','{$data['memory_type']}','{$data['memory_size']}','{$data['channels']}','{$data['memory_frequency']}','{$data['manufacturer'][0]}','{$data['manufacturer'][1]}','{$data['manufacturer'][2]}','{$data['manufacturer'][3]}','{$data['dimm_size'][0]}','{$data['dimm_size'][1]}','{$data['dimm_size'][2]}','{$data['dimm_size'][3]}','{$data['dimm_max_bandwidth'][0]}','{$data['dimm_max_bandwidth'][1]}','{$data['dimm_max_bandwidth'][2]}','{$data['dimm_max_bandwidth'][3]}','{$data['part_number'][0]}','{$data['part_number'][1]}','{$data['part_number'][2]}','{$data['part_number'][3]}','{$data['mainboard_model']}','{$data['temperature'][0]}','{$data['temperature'][1]}','{$data['temperature'][2]}','{$data['fan']}','{$data['dmi_bios_version']}','{$data['dmi_bios_date']}','{$data['dmi_baseboard_model']}','{$data['display_adapter_name']}','{$data['storage_name'][0]}','{$data['storage_name'][1]}','{$data['storage_name'][2]}','{$data['storage_capacity'][0]}','{$data['storage_capacity'][1]}','{$data['storage_capacity'][2]}'";
- $sql .= ")";
- // echo "{$sql}\r\n";
- $res = mysql_query($sql);
- if(!$res){
- echo mysql_error();
- }
- // $storage[$mac] = $data;
- // echo "\r\n-------------------------------\r\n";
- // echo json_encode($data);
- // echo "\r\n-------------------------------\r\n";
- }
- // print_r($storage);
- // print_r($data['manufacturer']);
- }
- // print_r($arr[0]);
- // print_r($arr[1]);
- // print_r($match[1]);
- // print_r($data);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement