PHP: 重写多级目录下的文件
时间:2007-07-11 来源:windlike
在网站维护工作中,如果一个网站有不同版本的多套程序,而你为了维护方便只想保留一套程序。如果你考虑了搜索引擎友好和客户友好,就不会把旧版面删掉。因此,对旧版做适当的分析,然后再跳转到相应的新版页面,也是一种比较常用的方法。下面是我的思路,希望能抛砖引玉。。。
read())){
if((is_dir("$dir/$file")) && ($file != ".") && ($file != "..")){
getFileInfo("$dir/$file",$type);
}else{
if(($file != ".") && ($file != "..")){
$path_info = pathinfo("$file");
if($path_info["extension"] == $type){
$arr_file["$dir"][] = $file;
}
}
}
}
$mydir->close();
}
function Rewrite_File($content){
global $arr_file;
foreach($arr_file as $key=>$arr){
foreach($arr as $value){
$file = $key . '/' . $value;
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
}
}
}
//
$dir = "xxx";
$type = "htm";
$content = "hello world!\n";
getFileInfo($dir, $type);
Rewrite_File($content);
?>
以上文件在我的电脑上已经通过测试。为了使用起来更方便,我试着写了一个Rewrite类,可是运行时总是提示错误: Fatal error: Call to undefined function: getfileinfo() in d:\usr\www\html\test_class.php on line 24
我刚接触php类,也不太熟悉。路过的朋友帮我看一下是哪里的错误,我在这里先谢过了。
?php
// FileName: test_class.php
class Rewrite_File{
var $file_dir;
var $file_content;
var $file_type;
var $arr_file_info;
function Rewrite_File($file_dir, $file_content, $file_type){
$this->file_dir = $file_dir;
$this->tem_file_dir = $file_dir;
$this->file_content = $file_content;
$this->file_type = $file_type;
}
function getFileInfo(){
$dir = $this->tem_file_dir;
$mydir = dir($dir);
while(false !== ($file = $mydir->read())){
if((is_dir("$dir/$file")) && ($file != ".") && ($file != "..")){
//
$this->tem_file_dir = $dir;
getFileInfo();
}else{
if(($file != ".") && ($file != "..")){
$path_info = pathinfo("$file");
if($path_info["extension"] == $this->file_type){
$this->arr_file_info["$dir"][] = $file;
}
}
}
}
$mydir->close();
}
function rewriteFile(){
foreach($this->arr_file_info as $key=>$arr){
foreach($arr as $value){
$file = $key . '/' . $value;
$fp = fopen($file, 'w');
fwrite($fp, $this->content);
fclose($fp);
}
}
}
}
$option = new Rewrite_File("xxx","hello
\nworld","htm");
$option->getFileInfo();
echo "";
print_r($option->arr_file_info);
echo "";
$option->rewriteFile();
?>
read())){
if((is_dir("$dir/$file")) && ($file != ".") && ($file != "..")){
getFileInfo("$dir/$file",$type);
}else{
if(($file != ".") && ($file != "..")){
$path_info = pathinfo("$file");
if($path_info["extension"] == $type){
$arr_file["$dir"][] = $file;
}
}
}
}
$mydir->close();
}
function Rewrite_File($content){
global $arr_file;
foreach($arr_file as $key=>$arr){
foreach($arr as $value){
$file = $key . '/' . $value;
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
}
}
}
//
$dir = "xxx";
$type = "htm";
$content = "hello world!\n";
getFileInfo($dir, $type);
Rewrite_File($content);
?>
以上文件在我的电脑上已经通过测试。为了使用起来更方便,我试着写了一个Rewrite类,可是运行时总是提示错误: Fatal error: Call to undefined function: getfileinfo() in d:\usr\www\html\test_class.php on line 24
我刚接触php类,也不太熟悉。路过的朋友帮我看一下是哪里的错误,我在这里先谢过了。
?php
// FileName: test_class.php
class Rewrite_File{
var $file_dir;
var $file_content;
var $file_type;
var $arr_file_info;
function Rewrite_File($file_dir, $file_content, $file_type){
$this->file_dir = $file_dir;
$this->tem_file_dir = $file_dir;
$this->file_content = $file_content;
$this->file_type = $file_type;
}
function getFileInfo(){
$dir = $this->tem_file_dir;
$mydir = dir($dir);
while(false !== ($file = $mydir->read())){
if((is_dir("$dir/$file")) && ($file != ".") && ($file != "..")){
//
$this->tem_file_dir = $dir;
getFileInfo();
}else{
if(($file != ".") && ($file != "..")){
$path_info = pathinfo("$file");
if($path_info["extension"] == $this->file_type){
$this->arr_file_info["$dir"][] = $file;
}
}
}
}
$mydir->close();
}
function rewriteFile(){
foreach($this->arr_file_info as $key=>$arr){
foreach($arr as $value){
$file = $key . '/' . $value;
$fp = fopen($file, 'w');
fwrite($fp, $this->content);
fclose($fp);
}
}
}
}
$option = new Rewrite_File("xxx","hello
\nworld","htm");
$option->getFileInfo();
echo "";
print_r($option->arr_file_info);
echo "";
$option->rewriteFile();
?>
相关阅读 更多 +
排行榜 更多 +