deleteimagememcached.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 61 行

PHP
61
字号
<?php// php deleteImageMemcached.php --until "2005-09-05 00:00:00" --sleep 0 --report 10$optionsWithArgs = array( 'until', 'sleep', 'report' );require_once 'commandLine.inc';class DeleteImageCache {	var $until, $sleep, $report;	function DeleteImageCache( $until, $sleep, $report ) {		$this->until = $until;		$this->sleep = $sleep;		$this->report = $report;	}	function main() {		global $wgMemc, $wgDBname;		$fname = 'DeleteImageCache::main';		ini_set( 'display_errors', false );		$dbr =& wfGetDB( DB_SLAVE );		$res = $dbr->select( 'image',			array( 'img_name' ),			array( "img_timestamp < {$this->until}" ),			$fname		);		$i = 0;		$total = $this->getImageCount();		while ( $row = $dbr->fetchObject( $res ) ) {			if ($i % $this->report == 0)				printf("%s: %13s done (%s)\n", $wgDBname, "$i/$total", wfPercent( $i / $total * 100 ));			$md5 = md5( $row->img_name );			$wgMemc->delete( "$wgDBname:Image:$md5" );			if ($this->sleep != 0)				usleep( $this->sleep );			++$i;		}	}	function getImageCount() {		$fname = 'DeleteImageCache::getImageCount';		$dbr =& wfGetDB( DB_SLAVE );		return $dbr->selectField( 'image', 'COUNT(*)', array(), $fname );	}}$until = preg_replace( "/[^\d]/", '', $options['until'] );$sleep = (int)$options['sleep'] * 1000; // milliseconds$report = (int)$options['report'];$dic = new DeleteImageCache( $until, $sleep, $report );$dic->main();?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?