文本文件数据库处理函数库
时间:2007-02-17 来源:PHP爱好者
因为我租不起MySQL支持, 所以只能采用扁平文件存储,
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
我是采用perl常用的"|"定界的格式,就像 "name|email|homepage" 这样的格式。
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
随便写了几个函数, 觉得还是有点用处的。 大家有什么心得,
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
也希望能告诉我啊, 我来完善完善。
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
<?php
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// dtf.inc.php3
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
//
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// DTF -- Delimited Text File Functions
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// Written by: Goghs <[email protected]>
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// http://www.eqiao.com
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
//
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// Function to manage a delimited text file database
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_fetch_all_as_string($filename) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$fp = fopen( $filename, "r" );
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$current = fread($fp, filesize($filename));
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fclose($fp);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $current;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_fetch_all_as_array($dbname) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return file($dbname);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_update_db($dbname, $item) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (file_exists($dbname)):
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$fp = fopen($dbname,"w+");
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fputs($fp,$item);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fclose($fp);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
else:
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$fp = fopen($dbname,"w");
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fputs($fp,$item);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fclose($fp);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
endif;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_get_total_rows($dbname) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return count(file($dbname));
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_remove_pipe($input) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_string($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// $input=ereg_replace("|","",$input); // It’s said that str-replace is faster than ereg_replace
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input=str_replace("|","",$input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_array($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
for ($i=0; $i<count($input); $i++) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input[$i] = ereg_replace("|","|",$input[$i]);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $input;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// 这个函数没有用, 用htmlspecialchars就可以
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// 但是如果只需要处理"<",">"而不需要处理 引号和 &时就很有用
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_remove_html_tag($input) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_string($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = ereg_replace("<","<",$input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = ereg_replace(">",">",$input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_array($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
for ($i=0; $i<count($input); $i++) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input[$i] = ereg_replace("<","<",$input[$i]);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input[$i] = ereg_replace(">",">",$input[$i]);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $input;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// 可以定制这个函数, 控制是否允许html标记等
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_sanitize($input) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = dtf_remove_pipe($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// $input = dtf_remove_html_tag($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = stripslashes($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = htmlspecialchars($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $input;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
?>
php爱好者站 http://www.phpfans.net 为phper提供一切资讯.
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
我是采用perl常用的"|"定界的格式,就像 "name|email|homepage" 这样的格式。
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
随便写了几个函数, 觉得还是有点用处的。 大家有什么心得,
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
也希望能告诉我啊, 我来完善完善。
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
<?php
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// dtf.inc.php3
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
//
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// DTF -- Delimited Text File Functions
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// Written by: Goghs <[email protected]>
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// http://www.eqiao.com
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
//
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// Function to manage a delimited text file database
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_fetch_all_as_string($filename) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$fp = fopen( $filename, "r" );
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$current = fread($fp, filesize($filename));
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fclose($fp);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $current;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_fetch_all_as_array($dbname) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return file($dbname);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_update_db($dbname, $item) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (file_exists($dbname)):
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$fp = fopen($dbname,"w+");
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fputs($fp,$item);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fclose($fp);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
else:
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$fp = fopen($dbname,"w");
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fputs($fp,$item);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
fclose($fp);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
endif;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_get_total_rows($dbname) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return count(file($dbname));
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_remove_pipe($input) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_string($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// $input=ereg_replace("|","",$input); // It’s said that str-replace is faster than ereg_replace
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input=str_replace("|","",$input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_array($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
for ($i=0; $i<count($input); $i++) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input[$i] = ereg_replace("|","|",$input[$i]);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $input;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// 这个函数没有用, 用htmlspecialchars就可以
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// 但是如果只需要处理"<",">"而不需要处理 引号和 &时就很有用
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_remove_html_tag($input) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_string($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = ereg_replace("<","<",$input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = ereg_replace(">",">",$input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
if (is_array($input)) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
for ($i=0; $i<count($input); $i++) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input[$i] = ereg_replace("<","<",$input[$i]);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input[$i] = ereg_replace(">",">",$input[$i]);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $input;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// 可以定制这个函数, 控制是否允许html标记等
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
function dtf_sanitize($input) {
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = dtf_remove_pipe($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
// $input = dtf_remove_html_tag($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = stripslashes($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
$input = htmlspecialchars($input);
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
return $input;
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
}
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
www.chinaitpower.com9ts8dMyXhmDVj0nChD4ypqT8O
?>
php爱好者站 http://www.phpfans.net 为phper提供一切资讯.
相关阅读 更多 +
排行榜 更多 +