预览模式: 普通 | 列表

php实现相对路径转绝对路径

//将一个URL转换为完整URL 

function format_url($srcurl, $baseurl) {    
  $srcinfo = parse_url($srcurl);  
  if(isset($srcinfo['scheme'])) {  
    return $srcurl;  
  }  
  $baseinfo = parse_url($baseurl);  
  $url = $baseinfo['scheme'].'://'.$baseinfo['host'];  
  if(substr($srcinfo['path'], 0, 1) == '/') {  
    $path = $srcinfo['path'];  
  }else{  
    $path = dirname($baseinfo['path']).'/'.$srcinfo['path'];  
  }  
  $rst = array();  
  $path_array = explode('/', $path);  
  if(!$path_array[0]) {  
    $rst[] = '';  
  }  
  foreach ($path_array AS $key => $dir) {  
    if ($dir == '..') {  
      if (end($rst) == '..') {  
        $rst[] = '..';  
      }elseif(!array_pop($rst)) {  
        $rst[] = '..';  
      }  
    }elseif($dir && $dir != '.') {  
      $rst[] = $dir;  
    }  
   }  
  if(!end($path_array)) {  
    $rst[] = '';  
  }  
  $url .= implode('/', $rst);  
  return str_replace('\\', '/', $url); 

$srcurl = '../../guestbook.php'; 
$baseurl = 'https://blog.guanjianci.net/abc/def/ghi/index.html';

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8569

MySQL记录存在则更新,不存在则插入

Create TABLE `tb_file_authorize` (
  `authorize_id` int(11) NOT NULL auto_increment,
  `str_id` int(11) default NULL COMMENT '用户标识',
  `file_id` int(11) default NULL COMMENT '文件标识',
  `right_id` int(11) default NULL COMMENT '权限标识',
  `catalog_id` int(11) default NULL COMMENT '目录标识',
  `catalog_index` varchar(100) character set utf8 collate utf8_bin default NULL COMMENT '目录索引标识',
  `expired_date` varchar(30) default NULL COMMENT '过期时间',
  `limit_times` int(11) default NULL COMMENT '限制次数',
  `open_times` int(11) default NULL COMMENT '已经打开次数',
  `start_date` varchar(30) default NULL COMMENT '开始时间',
  `end_date` varchar(30) default NULL COMMENT '结束时间',
  `grant_user` varchar(30) default NULL,
  PRIMARY KEY  (`authorize_id`),
  KEY `file_right_index` (`str_id`,`file_id`),
  UNIQUE KEY `update_or_insert` (`str_id`,`file_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

我遇到的问题:

   str_id标识用户的唯一标识,fiile_id为文件的唯一标识,此表为中间表str_id,与file_id确定right_id

当该表中存在str_id与file_id的记录时,更新right_id,否则插入一条新的记录,SQL语句如下:

查看更多...

Tags: mysql

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3794

解决w3wp.exe内存占用问题

在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。
今天研究了一下,可以做以下配置:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存
一般来说,这样就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。
那么,怎么样才能找到是哪一个网站的?
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就ok了

Tags: iis6

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2860

 广告位

↑返回顶部↑