找回密码
 加入网盟
分割线
官方精品推荐
读取ini文件并改写数据写入到ini

updateTime.ini

#更新时间记录
[fileUpdateTime]
time = ""
[sqlOtherUpdateTime]
time = "2022-06-08"
[sqlUpdateTime]
time = "2022-05-15"

方法一

  1. function write_ini_file($array, $file) {
  2.     $res = array();
  3.     foreach($array as $key => $val) {
  4.         if(is_array($val)) {
  5.             $res[] = "[$key]";
  6.             foreach($val as $skey => $sval) {
  7.                 $res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"');
  8.             }
  9.         } else {
  10.             $res[] = "$key = ".(is_numeric($val) ? $val : '"'.$val.'"');
  11.         }
  12.     }
  13.     safefilerewrite($file, implode("\r\n", $res));
  14. }

  15. function safefilerewrite($fileName, $dataToSave) {
  16.     if ($fp = fopen($fileName, 'w')) {
  17.         $startTime = microtime(TRUE);
  18.         do {
  19.             $canWrite = flock($fp, LOCK_EX);
  20.             if(!$canWrite) usleep(round(rand(0, 100)*1000));
  21.             
  22.         } while ((!$canWrite)and((microtime(TRUE)-$startTime) < 5));
  23.         
  24.         if ($canWrite) {
  25.             fwrite($fp, $dataToSave);
  26.             flock($fp, LOCK_UN);
  27.         }
  28.         fclose($fp);
  29.     }
  30. }

  31. $timeInfo = parse_ini_file('updateTime.ini',true);
  32. $timeInfo['sqlOtherUpdateTime']['time'] = date("Y-m-d", time());

  33. write_ini_file($timeInfo, "updateTime.ini");
复制代码

  1. function write_ini_file_tow($assoc_arr, $path, $has_sections=FALSE) {
  2.     $content = "";
  3.     if ($has_sections) {
  4.         foreach ($assoc_arr as $key=>$elem) {
  5.             $content .= "[".$key."]\n";
  6.             foreach ($elem as $key2=>$elem2) {
  7.                 if(is_array($elem2))
  8.                 {
  9.                     for($i=0;$i<count($elem2);$i++)
  10.                     {
  11.                         $content .= $key2."[] = "".$elem2[$i].""\n";
  12.                     }
  13.                 }
  14.                 else if($elem2=="") $content .= $key2." = \n";
  15.                 else $content .= $key2." = "".$elem2.""\n";
  16.             }
  17.         }
  18.     }
  19.     else {
  20.         foreach ($assoc_arr as $key=>$elem) {
  21.             if(is_array($elem))
  22.             {
  23.                 for($i=0;$i<count($elem);$i++)
  24.                 {
  25.                     $content .= $key."[] = "".$elem[$i].""\n";
  26.                 }
  27.             }
  28.             else if($elem=="") $content .= $key." = \n";
  29.             else $content .= $key." = "".$elem.""\n";
  30.         }
  31.     }
  32.    
  33.     if (!$handle = fopen($path, 'w')) {
  34.         return false;
  35.     }
  36.    
  37.     $success = fwrite($handle, $content);
  38.     fclose($handle);
  39.    
  40.     return $success;
  41. }

  42. $timeInfo = parse_ini_file('updateTime.ini',true);
  43. $timeInfo['sqlOtherUpdateTime']['time'] = date("Y-m-d", time());

  44. write_ini_file_tow($timeInfo, 'updateTime.ini', true);
复制代码
分享至 : QQ空间
收藏

3 个回复

倒序浏览
陕西小刘 1 2022-9-23 20:15:54
2#
非常感谢
回复 使用道具 举报
白菜 2 2022-9-23 20:33:15
3#
膜拜大神3秒钟
回复 使用道具 举报
tyy26115436 4 2022-9-24 19:37:32
4#
感谢{author}楼主
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入网盟
关闭

华夏网盟推荐 上一条 /1 下一条