$value){ $labels[]='!'.$key.'!'; $values[]=$value; } return str_replace($labels,$values,$pft_content); } // Удаляет комментарии из PFT function clean_pft_comments($pft_content){ return preg_replace('{/\*.*}',' ',$pft_content); } // Получение каталога для хранения временных файлов и файлов сессий. function get_temp(){ $sp=ini_get('session.save_path'); if (is_writable( $sp ) && strpos($sp,'.')===false) return self::sla($sp); if (isset($HTTP_ENV_VARS['TEMP'])) { if (is_writable( $HTTP_ENV_VARS['TEMP'] )) return self::sla($HTTP_ENV_VARS['TEMP']); } if (isset($HTTP_ENV_VARS['TMP'])) { if (is_writable( $HTTP_ENV_VARS['TMP'] )) return self::sla($HTTP_ENV_VARS['TMP']); } if (is_writable( 'C:/irbiswrk' )) return 'C:/irbiswrk'; @mkdir('C:/temp'); if (is_writable( 'C:/temp' )) return 'C:/temp'; } //Замена на обратный слеш function sla($string){ return str_replace(array(chr(92),chr(92).chr(92)),'/',$string); } //Замена на DOS слеш function sld($string){ return str_replace('/',chr(92),$string); } // Чтение INI файла стандарта ИРБИС без учёта комментариев function ini_read($ini_path){ if (!($strings=file($ini_path))) return -1; $counter=0; $section_name='NO_SECTIONS'; foreach ($strings as $string){ if (preg_match('{\\[(.+)\\]}',$string,$rez)){ $section_name=strtoupper($rez[1]); }elseif (preg_match('{(.+?)=(.+)}',$string,$rez)){ $ini_array[$section_name][strtoupper($rez[1])]=trim($rez[2]); } } return $ini_array; } // Запись INI файла c комментариями function ini_write($ini_path,$ini_array){ if (!($inifile=fopen($ini_path,'w')) || count($ini_array)<1) return -1; foreach ($ini_array as $section=>$section_value){ if ($section!=='NO_SECTIONS') fwrite($inifile,"\n\n[".$section."]\n"); foreach ($section_value as $par=>$value){ if (is_numeric($par)) fwrite($inifile,"$value\n"); else fwrite($inifile,"$par=$value\n"); } } fclose($inifile); return true; } //Чтение csv файла стандарта Excel: разделитель полей -- точка с запятой, записей -- перевод строки function read_csv($csv_path){ if (!($csv=@fopen($csv_path,'r'))){ return null; die(); } for($i=0; $i<$fields=fgetcsv($csv,5000,';');$i++){ if ($i>0){ for($j=0; $j"G","Ё"=>"YO","Є"=>"E","Ї"=>"YI","І"=>"I", "і"=>"i","ґ"=>"g","ё"=>"yo","№"=>"#","є"=>"e", "ї"=>"yi","А"=>"A","Б"=>"B","В"=>"V","Г"=>"G", "Д"=>"D","Е"=>"E","Ж"=>"ZH","З"=>"Z","И"=>"I", "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N", "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T", "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH", "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"'","Ы"=>"YI","Ь"=>"", "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"zh", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"'", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", "."=>"-","_"=>"-"," "=>"-","("=>"_",")"=>"_","/"=>"_",";"=>"_",":"=>"_" ); return strtr($string, $translit_table); } //Преобразование к URI формату function to_uri($string){ return urlencode(str_replace('+','%2B',$string)); // return urlencode($string); } //Запись файла конфигурации function cfg_write($filename,$CFG){ $file=fopen(dirname(__FILE__)."/$filename",'w+'); fwrite($file,"$value){ fwrite($file,"\$CFG['$key']='$value';\n\r"); } fwrite($file,"?>\n"); fclose($file); } function win_utf($s){ $t=''; if (is_string($s)){ if (extension_loaded('iconv')){ return @iconv('Windows-1251','UTF-8//IGNORE', $s); }else { $c209 = chr(209); $c208 = chr(208); $c129 = chr(129); for($i=0; $i=192 and $c<=239) $t.=$c208.chr($c-48); elseif ($c>239) $t.=$c209.chr($c-112); elseif ($c==184) $t.=$c209.$c209; elseif ($c==168) $t.=$c208.$c129; else $t.=$s[$i]; } return $t; } } return $s; } function detect_utf($Str) { if (is_string($Str)){ for ($i=0; $i>2)&5; $new_i=$new_c1*256+$new_c2; if ($new_i==1025){ $out_i=168; }else{ if ($new_i==1105){ $out_i=184; }else { $out_i=$new_i-848; } } $out.=chr($out_i); $byte2=false; } if (($i>>5)==6) { $c1=$i; $byte2=true; } } return $out; } } return $s; } //SET BEFORE function sb($prefix,$value){ echo $value; if ($value) return $prefix.$value; } //SET AFTER function sa($prefix,$value){ if ($value) return $value.$prefix; } function get_microtime(){ $microtime=explode(' ',microtime()); return $microtime[1].substr($microtime[0],2,4); } } ?>