当前位置:首页 > PHP教程 > php文件操作 > 列表

php创建文件时存在文件自动重命名实现方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-04 14:53:48 浏览: 评论:0 

php创建文件时存在文件自动重命名实现方法,实例代码如下:

  1. <?php 
  2. function createfile($filename$content = ''
  3.     $fp = file_put_contents($filename$content); 
  4.  
  5. // 要创建的文件名称 
  6. $filename = 'www.txt'
  7.  
  8. if(file_exists($filename)) 
  9.     // 打开当前目录 
  10.    $handle = opendir('./'); 
  11.     $fileinfo = pathinfo($filename); 
  12.     //print_r($fileinfo); 
  13.     $files = array(); 
  14.     while (false !== ($file = readdir($handle))) 
  15.     { 
  16.         if(preg_match_all("/{$fileinfo['filename']}(d*).{$fileinfo['extension']}/i"$file$match)) 
  17.         { 
  18.             $max = max($match[1]); 
  19.             if($max
  20.             { 
  21.                 $createfile = $fileinfo['filename'] . ($max + 1) . '.' . $fileinfo['extension']; 
  22.             } 
  23.             else 
  24.             { 
  25.                 $createfile = $fileinfo['filename'] . '1.' . $fileinfo['extension']; 
  26.             } 
  27.         } 
  28.     } 
  29.     createfile($createfile); 
  30. else 
  31.     createfile($filename); 
  32. ?> 

使用临时文件作记数器,方法二,实例代码如下:

  1. <?php 
  2. function createfile($filename$content = ''
  3.     if(file_exists($filename . '.tmp')) 
  4.     { 
  5.         $num = (int) file_get_contents($filename . '.tmp') + 1; 
  6.         $fileinfo = pathinfo($filename); 
  7.         file_put_contents($fileinfo['filename'] . '(' . $num . ')' .$fileinfo['extension'], $content); 
  8.         file_put_contents($filename . '.tmp'$num); 
  9.     } 
  10.     else 
  11.     { 
  12.         file_put_contents($filename$content); 
  13.         file_put_contents($filename . '.tmp', 1); 
  14.     } 
  15. createfile('test.txt'); 
  16. ?> 

Tags: php创建文件 自动重命名

分享到: