0&&$num return chr($num);
} elseif ($num-10247) {
return '';
} else {
for($i=count($this->data)-1;$i>=0;$i--){if($this->data[$i][1] return $this->data[$i][0];
}
}
function conver($str) {
$ret=;
for($i=0;$i $p=ord(substr($str,$i,1));
if($p>160){
$q=ord(substr($str,++$i,1));
$p=$p*256+$q-65536;
}
$ret.=$this->get_one($p).' ';
}
return $ret;
}
}
?>
textclass.php
file,w);
flock($f,lock_ex);
fputs($f,$new);
fclose($f);
}
// 添加数据记录到文件末端
function add_write($new) {
$f=fopen($this->file,a);
flock($f,lock_ex);
fputs($f,$new);
fclose($f);
}
// 配合readfile()的返回一起使用,把一行数据转换为一维数组
function make_array($line) {
$array = explode(x0e,$line);
return $array;
}
//把为一维数组转换一行数据
function join_array($line) {
$array = join(x0e,$line);
return $array;
}
// 返回数据文件的总行数
function getlines() {
$f=file($this->file);
return count($f);
}
// 返回下一行的数据记录(备用)
function next_line() {
$this->index=$this->index++;
return $this->get();
}
// 返回上一行的数据记录(备用)
function prev_line() {
$this->index=$this->index--;
return $this->get();
}
// 返回当前行的数据记录数据较小
function get() {
$f=fopen($this->file,r);
flock($f,lock_sh);
for($i=0;$iindex;$i++) {
$rec=fgets($f,1024);
}
$line=explode(x0e,$rec);
fclose($f);
return $line;
}
// 返回当前行的数据记录数据较大
function get_big_file() {
$f=fopen($this->file,r);
flock($f,lock_sh);
for($i=0;$iindex;$i++) {
$rec=fgets($f,1024*5);
}
$line=explode(x0e,$rec);
fclose($f);
return $line;
}
// 打开数据文件---以一维数组返回文件内容
function read_file() {
if (file_exists($this->file)) {
$line =file($this->file);
}
return $line;
}
// 打开数据文件---以二维数组返回文件内容
function openfile() {
if (file_exists($this->file)) {
$f =file($this->file);
$lines = array();
foreach ($f as $rawline) {
$tmpline = explode(x0e,$rawline);
array_push($lines, $tmpline);
}
}
return $lines;
}
// 传入一个数组,合并成一行数据,重写整个文件
function overwrite($array){
$newline = implode(x0e,$array);
$f = fopen($this->file,w);
flock($f,lock_ex);
fputs($f,$newline);
fclose($f);
}
// 添加一行数据记录到文件末端
function add_line($array,$check_n=1) {
$s=implode(x0e,$array);
$f=fopen($this->file,a);
flock($f,lock_ex);
fputs($f,$s);
if ($check_n==1) fputs($f,n);
fclose($f);
}
// 插入一行数据记录到文件最前面
function insert_line($array) {
$newfile = implode(x0e,$array);
$f = fopen($this->file,r);
flock($f,lock_sh);
while ($line = fgets($f,1024)) {
$newfile .= $line;
}
fclose($f);
$f = fopen($this->file,w);
flock($f,lock_ex);
fputs($f,$newfile);
fclose($f);
}
// 更新所有符合条件的数据记录,适用于每行字节数据较大的情况
function update($column,$query_string,$update_array) {
$update_string = implode(x0e,$update_array);
$newfile = ;
$fc=file($this->file);
$f=fopen($this->file,r);
flock($f,lock_sh);
for ($i=0;$i $list = explode(x0e,$fc[$i]);
if ($list[$column] != $query_string) {
$newfile = $newfile.chop($fc[$i]).n;
} else {
$newfile = $newfile.$update_string;
}
}
fclose($f);
$f=fopen($this->file,w);
flock($f,lock_ex);
fputs($f,$newfile);
fclose($f);
}
// 更新所有符合条件的数据记录,适用于每行字节数据较小的情况
function update2($column,$query_string,$update_array) {
$newline = implode(x0e,$update_array);
$newfile = ;
$f = fopen($this->file,r);
flock($f,lock_sh);
while ($line = fgets($f,1024)) {
$tmpline = explode(x0e,$line);
if ($tmpline[$column] == $query_string) {
$newfile .= $newline;
} else {
$newfile .= $line;
}
}
fclose($f);
$f = fopen($this->file,w);
flock($f,lock_ex);
fputs($f,$newfile);
fclose($f);
}
// 删除所有符合条件的数据记录,适用于每行字节数据较大的情况
function delete($column,$query_string) {
$newfile = ;
$fc=file($this->file);
$f=fopen($this->file,r);
flock($f,lock_sh);
for ($i=0;$i $list = explode(x0e,$fc[$i]);
if ($list[$column] != $query_string) {
$newfile = $newfile.chop($fc[$i]).n;
}
}
fclose($f);
$f=fopen($this->file,w);
flock($f,lock_ex);
fputs($f,$newfile);
fclose($f);
}
// 删除所有符合条件的数据记录,适用于每行字节数据较小的情况
function delete2($column,$query_string){
$newfile = ;
$f = fopen($this->file,r);
flock($f,lock_sh);
while ($line = fgets($f,1024)) {
$tmpline = explode(x0e,$line);
if ($tmpline[$column] != $query_string) {
$newfile .= $line;
}
}
fclose($f);
$f = fopen($this->file,w);
flock($f,lock_ex);
fputs($f,$newfile);
fclose($f);
}
//取得一个文件里某个字段的最大值
function get_max_value($column) {
$tlines = file($this->file);
for ($i=0;$i $line=explode(x0e,$tlines[$i]);
$get_value[]=$line[$column];
}
$get_max_value = max($get_value);
return $get_max_value;
}
// 根据数据文件的某个字段是否包含$query_string进行查询,以二维数组返回所有符合条件的数据
function select($column, $query_string) {
$tline = $this->openfile();
$lines = array();
foreach ($tline as $line) {
if ($line[$column] == $query_string) {
array_push($lines, $line);
}
}
return $lines;
}
// 功能与function select()一样,速度可能略有提升
function select2($column, $query_string) {
if (file_exists($this->file)) {
$tline = $this->read_file();
foreach ($tline as $tmpline) {
$line = $this->make_array($tmpline);
if ($line[$column] == $query_string) {
$lines[]=$tmpline;
}
}
}
return $lines;
}
// 根据数据文件的某个字段是否包含$query_string进行查询,以一维数组返回第一个符合条件的数据
function select_line($column, $query_string) {
$tline = $this->read_file();
foreach ($tline as $tmpline) {
$line = $this->make_array($tmpline);
if ($line[$column] == $query_string) {
return $line;
break;
}
}
}
// select next/prev line(next_prev ==> 1/next, 2/prev) by cx
function select_next_prev_line($column, $query_string, $next_prev) {
$tline = $this->read_file();
$line_key_end = count($tline) - 1;
$line_key = -1;
foreach ($tline as $tmpline) {
$line_key++;
$line = $this->make_array($tmpline);
if ($next_prev == 1) { // next?
if ($line[$column] == $query_string) {
if ($line_key == 0) {
return 0;
} else {
$line_key_up = $line_key - 1;
return $up_line;
}
} else {
$up_line = $line;
}
} elseif ($next_prev == 2) { // prev?
if ($line[$column] == $query_string) {
if ($line_key == $line_key_end) {
return 0;
} else {
$line_key_down = $line_key + 1;
break;
}
}
} else {
return 0;
}
}
$down_line = $this->make_array($tline[$line_key_down]);
return $down_line;
}
}
$file=fopen('list.txt',a+);
if($file == false)exit('无法创建或者打开list.txt');
function __urljudge($url){
$suffixes=com|net|org|gov|biz|com.tw|com.hk|com.ru|net.tw|net.hk|net.ru|info|cn|com.cn|net.cn|org.cn|gov.cn|mobi|name|sh|ac|la|travel|tm|us|cc|tv|jobs|asia|hn|lc|hk|bz|com.hk|ws|tel|io|tw|ac.cn|bj.cn|sh.cn|tj.cn|cq.cn|he.cn|sx.cn|nm.cn|ln.cn|jl.cn|hl.cn|js.cn|zj.cn|ah.cn|fj.cn|jx.cn|sd.cn|ha.cn|hb.cn|hn.cn|gd.cn|gx.cn|hi.cn|sc.cn|gz.cn|yn.cn|xz.cn|sn.cn|gs.cn|qh.cn|nx.cn|xj.cn|tw.cn|hk.cn|mo.cn|org.hk;
if(!eregi(^(www.)?([a-za-z0-9-])+.($suffixes)$,$url)){
echo ;
exit;
}else {return $url;}
}
function get_real_ip(){
$ip=false;
if(!empty($_server[http_client_ip])){
$ip = $_server[http_client_ip];
}
if (!empty($_server['http_x_forwarded_for'])) {
$ips = explode (, , $_server['http_x_forwarded_for']);
if ($ip) { array_unshift($ips, $ip); $ip = false; }
for ($i = 0; $i if (!eregi (^(10|172.16|192.168)., $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_server['remote_addr']);
}
$ip=get_real_ip();
$text_class=new ctbclass();
$date=mktime (date(h)-24, date(i), date(s), date(m), date(d), date(y));
$history=$text_class->openfile();
for ($i=0;$i if ($history[$i][2] $text_class->delete2(2,$history[$i][2]);
}
}
?>
http://www.bkjia.com/phpjc/632001.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/632001.htmltecharticlephp 汉字转换拼音程序 ?php class pinyin { var $data = array(array(a,-20319),array(ai,-20317),array(an,-20304),array(ang,-20295),array(ao,-20292),array(ba,-20283),array(bai,-2...
