![]() |
|
Ê×Ò³ ©¦ Apache ©¦ Linux©¦ Java©¦ MySQL©¦ ×¢²á©¦°ïÖú | |||
ÈçҪͶËß»òÌá³öÒâ¼û½¨Ò飬Çëµ½
Õ¾Îñ½¨ÒéͶËß°É·´À¡¡£
ÔÎÄ
http://www-900.ibm.com/developer ... p/pear2/index.shtml
Ò»¡¢ÃüÃûÔ¼¶¨
ÔÚÁ˽âÏÖÓеÄpearÄ£¿é֮ǰ£¬ÎÒÃÇÏÈÁ˽âÒ»ÏÂPEARµÄ×éÖ¯·ÖÀ෽ʽºÍÃüÃûµÄÔ¼¶¨¡£PEARÖеÄÄ£¿éµÄ×éÖ¯·½Ê½ºÍCPANÀàËÆ£¬Ã¿¸öÄ£¿éµÄÏà¹ØÎļþÊÇ·ÅÔÚ×Ô¼ºµÄ·ÖÀàĿ¼ÏÂÃæ£¬ÓеÄÔòÊÇÖ±½Ó·ÅÔÚpearµÄ¸ùĿ¼ÏÂÃæ£¨µ¥¸öÎļþ£©¡£ÓÉÓÚPEARûÓÐÏójavaÄÇÑùµÄÃû×ֿռ䣬ËùÒÔÄãµÄÀàÃûÓ¦¸ÃÄܹ»ÌåÏÖÄãµÄÄ£¿éÃû»òÕ߸¸ÀàÃûÖ®¼äµÄ¹ØÏµ£¬ÊØÒ»¶¨µÄÔ¼¶¨£¬±ÈÈ磬ÄãµÄÄ£¿éÃû£º"Mp3/common",ÄÇô£¬ÄãµÄphpÎļþÓ¦¸ÃλÓÚ£ºMp3/common.php,ÄãÕâ¸öÄ£¿éµÄÀàÃûÓ¦¸ÃÊÇ£ºMp3_common¡£Ò»°ãÀ´Ëµ£¬Èç¹ûÄãµÄÄ£¿éÊǸù¾ÝÏÖÓеÄij¸öÄ£¿é¸Ä½ø¶øÀ´µÄ£¬ÄÇô½¨Òé°ÑÄãµÄºÍÏÖÓеÄÄǸöÄ£¿é·ÅÔÚͬһ¸öĿ¼ÏÂÃæ¡£Èç¹ûÄãÉè¼ÆµÄÊÇÒ»¸öеÄÀàºÍÄ£¿é£¬Äã¿ÉÒÔ×Ô¼º½¨Á¢Ò»¸öеÄĿ¼£¬»òÕßÊǰ´ÕÕÏàËÆµÄÓÃ;·ÅÔÚͬÑùµÄĿ¼ÏÂÃæ¡£±ÈÈ磬ÄãбàдÁËÒ»¸öÄ£¿é£¬ÓÃÓÚ´¦ÀíÈÕÖ¾µÄ£¬½¨ÒéÄã°ÑËü·ÅÔÚLog/ÏÂÃæ£¬±íʾÊÇÓÃÓÚLog´¦ÀíµÄÓ¦ÓÃÄ£¿é£»Èç¹ûеÄÄ£¿éÊÇÓÃÓÚ´¦Àímp3µÄ£¬ÄÇôÄã¿ÉÒÔ½¨Á¢Ò»¸öеÄĿ¼mp3,·ÅÔÚmp3Ŀ¼ÏÂÃæ¡£
¶þ¡¢ÏÖÓеÄPEARÄ£¿é
ÓÉÓÚPearµÄ´ó¶àÊýÄ£¿éÈÔ´¦ÓÚ¿ª·¢µ±ÖУ¬Òò´Ë£¬ÕâÀïÁоٵÄÊÇËæ×Åphp4.05Ò»Æð·¢²¼µÄpearÖеÄÄ£¿é£¬ÐèҪעÒâµÄÊÇ£¬Ò»Ð©³éÏóÀà»òÕßÊÇ»ùÀà(ÈçMail.php,Log.php,Cache.php)ûÓÐÁоٳöÀ´£¬ÎÒÃÇÖ»ÊǹØ×¢¾ßÓоßÌ幦ÄܵÄÄ£¿é¡£ÏÂÃæÊÇÕâЩģ¿éµÄÒ»¸öÁÐ±í£º
Benchmark/Timer ²âÊÔÄãµÄÒ»¶Îphp´úÂëµÄÔËÐÐЧÂÊ
Benchmark/Benchmark_Iterate ²âÊÔÄãij¸öº¯ÊýÑ»·Ö´ÐÐʱµÄÐÔÄÜ
Cache/Output ¿ÉÒÔ½«ÄãµÄphp½Å±¾µÄÊä³ö½øÐлº´æ£¬¿ÉÒÔʹÓöàÖÖ·½Ê½»º´æ£¨´æÔÚÎļþ£¬Êý¾Ý¿â»òÕßÊǹ²ÏíÄÚ´æÖУ©,Èç¹ûʹÓÃÕâ¸öÄ£¿éÓпÉÄÜÔö´ó·þÎñÆ÷µÄ¸ºÔØ£¬ËùÒÔ£¬Èç¹ûÄãÏëͨ¹ý¶¯Ì¬½Å±¾µÄ»º´æÀ´ÌṩЧÂÊ£¬²»·ÁʹÓÃZend optimize,Õâ¸öÄ£¿éδ±ØÊʺÏ
Cache/Graphics ¿ÉÒÔ½«ÄãÐèÒª¶¯Ì¬Êä³öµÄͼƬ½øÐлº´æ
Console/Getopt ÃüÁîÐвÎÊýµÄ´¦ÀíÄ£¿é
CMD Ò»¸öÐéÄâµÄshell£¬¿ÉÒÔÓÃËüÀ´ÔËÐÐһЩϵͳµÄÃüÁî
Crypt/CBC ʵÏÖPerl Crypt::CBC Ä£¿éµÄ·ÂÕæ
Crypt/HCEMD5 ʵÏÖPerl Crypt::HCE_MD5 Ä£¿éµÄ¹¦ÄÜ
Date/Calc ʵÏÖÈÕÆÚµÄÏà¹Ø²Ù×÷
Date/Human HumanÀú·¨µÄת»»
DB ÌṩͳһµÄ¡¢³éÏóµÄÊý¾Ý¿â²Ù×÷²ã£¬ºó¶ËÖ§³Ö¶àÖÖÊý¾Ý¿â
File/Find Îļþ²éÕÒ
File/Passwd ²Ù×ÝpasswordÀàµÄÎļþ£¬Èçpassword,httppass,cvspassword
File/SearchReplace ÔÚÎļþÖвéÕÒÌæ»»×Ö·û´®
HTML/Form ¿ÉÒÔÔÚhtmlÖпìËٵش´½¨form
HTML/IT ʵÏÖÄ£°å¶¨ÖÆ£¬¶¯Ì¬Éú³ÉÒ³ÃæµÄ¹¦ÄÜ£¬ÀàËÆphplibÖеÄÄ£°å¹¦ÄÜ£¬µ«ÊÇÒª¼òµ¥Ò×ÓÃ
HTML/ITX ʵÏÖ¶ÔITµÄÀ©Õ¹¹¦ÄÜ£¬¿ÉÒÔ¸ü¼ÓÁé»îµØ¶¨ÖÆÄãµÄÄ£°å£¬ÊµÏÖ¸ü¸´ÔӵIJÙ×÷
HTML/Processor XML_ParserµÄÀ©Õ¹£¬Ê¹Ö®¿ÉÒÔÓ¦ÓÃÓÚhtmlÎļþµÄ²Ù×÷
HTTP/Compress ÓÃÓÚPhp Êä³ö»º³å»úÖÆµÄÒ»¸ö°ü×°À࣬ͬʱ¿ÉÒÔ¶Ô»º³åµÄÄÚÈݽøÐÐѹËõ´æ´¢
Image/Remote ÎÞÐè°ÑÕû¸öͼƬ¶¼ÏÂÔØµ½±¾µØ¾Í¿ÉÒÔ»ñȡԶ¶ËϵͳµÄͼƬµÄÐÅÏ¢£¬
Log/composite Horde¶Ôlog³éÏóÀà×öµÄÒ»¸öÀ©Õ¹£¬¿ÉÒÔʹ¶à¸öÈÕÖ¾´¦Àí¶ÔÏóÄܹ»»ñµÃͬһ¸öÈÕ־ʼþ¡£×¢Ò⣬LogĿ¼ÏÂÃæµÄÄ£¿é¶¼ÊÇHordeÏîÄ¿µÄÒ»²¿·Ö£¬´ó²¿·Ö¶¼ÊdzéÏóµÄ³¬Àà
Log/file ½«ÈÕÖ¾ÐÅϢдÈëÎļþ
Log/mcal ½«ÐÅÏ¢·¢Ë͵½±¾µØ»òÔ¶¶ËµÄÈճ̹ÜÀíÈí¼þ-mcalµÄÊý¾Ý¿âÖÐ
Log/observer HorderÖÐObserverµÄÒ»¸ö³¬Àà
Log/sql ½«ÈÕÖ¾ÐÅÏ¢·¢Ë͵½sqlÊý¾Ý¿âÖÐ
Log/syslog ½«ÐÅÏ¢·¢Ë͵½syslogÖÐ
Mail/RFC822 ¼ì²éÒ»¸öemailµØÖ·ÊÇ·ñÊǺϷ¨µÄrf822 emailµØÖ·
Mail/sendmail ʹÓÃsendmailÀ´·¢ËÍÐżþ
Mail/smtp ʹÓÃsmtp·þÎñÆ÷À´·¢ËÍÐżþ
Math/Fraction ´¦Àí·ÖÐεÄÊýѧ¼ÆËã
Math/Util ¼ÆËã×î´ó¹«Ô¼Êý
NET/Curl ¶ÔphpµÄCurlÀ©Õ¹Ëù×÷µÄÃæÏò¶ÔÏóµÄ°ü×°
NET/Dig ²Ù×Ýdig£¬½øÐÐdnsÏà¹ØµÄ²éѯ²Ù×÷
NET/SMTP ʹÓÃNET/SocketʵÏÖSMTPÐÒé
NET/Socket ͨÓõÄSocketÀ࣬ʵÏÖÁ˳£ÓõÄsocket²Ù×÷µÄ°ü×°
Numbers/Roman °¢À²®Êý×ÖºÍÂÞÂíÊý×ÖµÄÏ໥ת»»
Payment/Verisign ʵÏÖºÍVerisignÖ§¸¶Íø¹ØµÄ½»»¥
Pear ÌṩPearÄ£¿éµÄ2¸ö»ù±¾À࣬PEAR ºÍPEARErrorÀà
PEAR/Installer pearµÄ°²×°À࣬ÌṩPerlÖеÄCPANÄ£¿éÀàËÆµÄ¹¦ÄÜ
PHPDoc ´Óphp´úÂëÖÐ×Ô¶¯Éú³ÉAPIÎĵµ
Schedule/at ºÍUnix ÉϵÄATÊØ»¤½ø³Ì½øÐн»»¥
XML/Parser »ùÓÚphpµÄxmlÀ©Õ¹Ëù×÷µÄxmlµÄ½âÎöÆ÷
XML/Render ½«xmlÎĵµÉú³ÉÆäËüµÄ¸ñʽ£¨html,pdf),ÕâÖ»ÊÇÒ»¸ö³éÏóÀ࣬ÔÚ×îеÄpear cvs´úÂëÖÐÒѾÓÐÁËhtmlµÄʵÏÖ
XML/RPC ÓÃphpʵÏÖxml-rpcµÄÒ»¸ö³éÏóÀ࣬ÔÚ×îеÄpear cvs´úÂëÖÐÒѾÓÐÁËxml/RPC/ServerµÄʵÏÖ
Èý¡¢Ö÷Ҫģ¿éʹÓüò½é
ÏÖÔÚÎÒÃǽ«¼òµ¥µØ½éÉÜһЩ±È½Ï³£Óõ쬶øÇÒ¹¦ÄÜÒѾ±È½ÏÍêÉÆºÍÎȶ¨£¬¿ÉÒÔÓÃÓÚ¡°ÊµÕ½¡°Ä£¿é£¬ÆäÖжÔÓÚ¼¸¸ö¹¦ÄܺÜÇ¿´óµÄÄ£¿éDb,phpdoc,XML_Parser£¬IT,ITX½«ÔÚÒÔºóµÄÎÄÕÂÖе¥¶À½éÉÜ¡£
1.PEAR/Installer
Õâ¸öÄ£¿éÊôÓÚpear±¾ÉíµÄºËÐÄÄ£¿é£¬ËüÍê³ÉpearÆäËüÄ£¿éµÄ°²×°ºÍά»¤¹¤×÷£¬ÀàËÆperlÖеÄcpanÄ£¿éµÄ¹¦ÄÜ£¬²»¹ýĿǰֻÓÐinstall¹¦ÄÜ£¬ÆäËüÖîÈç²éѯ£¬¼ì²éÒÀÀµÐԵȵȶ¼Ã»ÓÐÍê³É£¬pear±¾ÉíҲûÓÐÀàËÆ cpan ÄÇÑùµÄ¿ª·ÅµÄÕ¾µã£¬²»¹ýËæ×ŲÎÓëpearµÄ¿ª·¢ÈËÔ±µÄ²»¶ÏÔö¼Ó£¬Ò»Çж¼»áÓеġ£
ʹÓÃÓï·¨£ºPEAR_Installer::installer($file)
$fileÊÇÐèÒª°²×°µÄÄ£¿éÎļþ£¬¿ÉÒÔÊDZ¾µØÎļþ£¬Ò²¿ÉÒÔÊÇÔ¶³ÌµÄÎļþ£¬Èçhttp://»òÕßÊÇftp£¬installer»á×Ô¶ ... ¬Ãû×ÖÊÇpackage.dtd.
<?php
require_once "PEAR/Installer.php";
$installer = new PEAR_Installer;
//°²×°Ö¸¶¨µÄÄ£¿é
$result = $installer->install($package_file);
if ( PEAR::isError($result)){
echo "Install $package_file failed!";
}else {
echo "Install $package_file sucess!";
}
?>
2.CMD
ËäÈ»´ó¶àÊýµÄphpÓ¦ÓúÜÉÙµ÷ÓÃϵͳÃüÁÒòΪÕâЩӦÓö¼ÊÇ»ùÓÚwebµÄ£¬´ÓÔËÐÐЧÂʺÍϵͳµÄ¸ºÔØ¿¼ÂÇ£¬¶¼Òª±ÜÃâÖ±½Óµ÷ÓÃϵͳÃüÁ²»¹ý£¬ÔÚÓÐÐ©ÌØÊâµÄÓ¦ÓûòÕßÊÇÄãÔ¸Òâ°Ñphp×÷Ϊһ¸öshell¹¤¾ßµÄʱºò£¬µ÷ÓÃÏÖÓеÄϵͳ¹¤¾ß¾ÍÊDz»¿É±ÜÃâµÄÁË¡£CMD¿ÉÒÔÈÃÄãºÜ·½±ãµØÖ´ÐÐһϵÁеÄϵͳÃüÁî¡£
ʹÓÃÓï·¨£ºsetOption ($option, $setting)
ÉèÖòÎÊý$optionsΪ$setting
$optionsÊÇÒ»¸ö³£Á¿£¬Ëü¿ÉÒÔÊÇÒÔÏÂÖµ£º
CMD_SHUTDOWN : ͨ¹ýshutdownº¯ÊýÀ´Ö´ÐÐÃüÁî
CMD_SHELL : Ö¸¶¨shellµÄ·¾¶
CMD_OUTPUT : ÊÇ·ñÆÁ±ÎÃüÁîµÄ±ê×¼Êä³ö
CMD_NOHUP : ʹÓÃnohupºǫִ́ÐÐÃüÁî
CMD_VERBOSE : ½«´íÎó´òÓ¡µ½±ê×¼Êä³ö
command($command)
Ìí¼ÓÐèÒªÖ´ÐеÄÃüÁ$command¿ÉÒÔÊÇÊý×é»òÆÕͨµÄ×Ö·û´®
exec()
Ö´ÐÐÒѾÌí¼ÓµÄÃüÁî
<?php
require_once "CMD.php";
$cmd = new CMD;
$cmd->command('tar zcvf test.tar.gz ~/test');
if ( $cmd->exec() ) {
echo "success£¡\n";
} esle {
echo "Error:" . $cmd->lastError;
}
?>
3.Benchmark/TimerºÍBenchmark/Iterate
Õâ2¸öÄ£¿é¿ÉÒÔÈÃÄã²âÊÔÄãµÄ´úÂëµÄÔËÐÐЧÂÊÈçºÎ£¬ÎÒÈÏΪÕâ¶ÔÓÚϵͳµ÷ÊÔºÜÓÐÓãºÄã¿ÉÒÔ³¢ÊÔ²»Í¬µÄËã·¨£¬×Ðϸ¿¼²ìÿÖÖËã·¨ÐèÒªÔËÐеÄʱ¼ä£¬È»ºóÑ¡Ôñ×î¼ÑµÄ·½Ê½¡£Benchmark/Timer²âÊÔÔËÐÐÖÐÔÚ2¸ö²»Í¬µÄʱ¼äµãµÄʱ¼ä²î£¬Benchmark/IterateÔòÊǶÔTimerÀ©Õ¹£¬²âÊÔÔËÐÐij¶Î´úÂ루º¯Êý£©n´ÎËùÐèÒªµÄʱ¼ä¡£
ʹÓÃÓï·¨£ºBenchmark/Timer
Timer::setMarker($name) ÉèÖõ±Ç°Ê±¼äµãΪ$name
Timer::start() ¿ªÊ¼²âÊÔ
Timer::stop() Í£Ö¹²âÊÔ
Timer::timeElapsed($start = 'Start', $end = 'Stop') ¼ÆËã$startºÍ$end Õâ2¸öʱ¼äµãµÄʱ¼ä²î
Timer::getProfiling() ·µ»Østart ºÍ stop Ö®¼äËùºÄÓõÄʱ¼ä
<?php
require_once "Benchmark/Timer.php";
$timer = new Benchmark_Timer;
$timer->start();
$timer->setMarker('Marker 1');
$timer->stop();
$profiling = $timer->getProfiling();
?>
Benchmark/Iterate
Iterate::run()
Ñ»·ÔËÐÐÖ¸¶¨µÄº¯Êý¡£ÕâÊÇÒ»¸ö¾ßÓпɱä²ÎÊýµÄ·½·¨£¬µÚÒ»¸ö²ÎÊýÊÇҪѻ·µÄ´ÎÊý£¬µÚ2¸ö²ÎÊýÊÇÒªÖ´Ðеĺ¯Êý£¬µÚ3¸ö²ÎÊýÆðÔòÊÇÒª´«µÝ¸ø²âÊÔº¯ÊýµÄ²ÎÊý¡£
Iterate::get()
·µ»Ø²âÊÔËùÓõÄʱ¼ä
<?php
require_once "Benchmark/Iterate.php";
$benchmark = new Benchmark_Iterate;
function foo($string)
{
print $string."
";
}
$benchmark->run(100, 'foo', 'test');
$result = $benchmark->get();
?>
3.File/Find
&glob ($pattern, $dirpath, $pattern_type='php')
ÔÚ$dirpathÖÐËÑË÷·ûºÏ$patternµÄĿ¼ºÍÎļþ£¬·µ»ØÆ¥ÅäµÄÎļþºÍĿ¼ÃûÊý×é
&search ($pattern, $directory, $type='php')
ÔÚ$directoryÖÐËÑË÷·ûºÏ$pattern¹æÔòµÄÎļþ£¬·µ»ØÆ¥ÅäµÄÎļþÃûÊý×飨עÒ⣬ֻÊÇÎļþ£¬²»°üÀ¨×ÓĿ¼£©¡£$patternÊÇÒªÖ¸¶¨µÄËÑË÷Ìõ¼þ£¬Ò»°ãÊǹæÔò±í´ïʽ£¬$patten_typeÖ¸¶¨Ê¹ÓÃʲôģʽµÄ¹æÔò±í´ïʽ£¬È±Ê¡ÊÇphpģʽ£¬ÄãÒ²¿ÉÒÔÖ¸¶¨"perl"À´Ê¹ÓÃperlģʽµÄ¹æÔò±í´ïʽ
Ìáʾ£ºsearchºÍglob²»Í¬µÄÊÇ£¬glob²¢²»µÝ¹éËÑË÷×ÓĿ¼£¬¶øsearchÔòµÝ¹éËÑË÷×ÓĿ¼¡£
<?php
require_once "File/Find.php";
$find = new File_Find;
//ËÑË÷µ±Ç°Ä¿Â¼
$php_files = $find->glob("*php",".");
if ( PEAR::isError( $php_files ) ){
die "´íÎó£º" . $php_files->getMessage() ."\n" ;
}
//µÝ¹éËÑË÷µ±Ç°Ä¿Â¼
$all_php_files = $find->search("*php",".");
if ( PEAR::isError( $all_php_files ) ){
die "´íÎó£º" . $php_files->getMessage() ."\n" ;
}
?>
4.File/Passwd
²Ù×Ýpassword¸ñʽµÄÎļþ£¬ÀàËÆÈç±ê×¼µÄunix password,apache µÄ.htppass,cvsµÄpserver passwordÎļþ¡£´ÓÏÖÓа汾µÄ´úÂëÀ´¿´£¬Ëü»¹²»ÄÜÕæÕýµØÓÃÀ´Î¬»¤ÕâЩpasswdÎļþ£¨±ÈÈç²¢²»Ö§³Öshadow)¡£²»¹ýÄã¿ÉÒÔÓÃÀ´´´½¨ÀàËÆµÄÃÜÂëÎļþ£¬µ±È»£¬°²È«ÐÔ²»»áºÜ¸ß¡£
ʹÓ÷½·¨£º
File_Passwd($file,$lock=0)----------´´½¨¶ÔÏó£¬$fileÊÇÄãÒª²Ù×÷µÄpasswdÎļþ£¬$lockÖ¸¶¨ÊÇ·ñÒªÓÃflock¶ÔÎļþÉÏËø¡£
addUser($user,$pass,$cvsuser)----------Ôö¼ÓÒ»¸öÓû§,$user,$pass·Ö±ðÊÇÓû§ÃûºÍÃÜÂ룬$cvsuserÊÇcvs Óû§µÄid
modUser($user,$pass,$cvsuser)----------ÐÞ¸Ä$userµÄÃÜÂëΪ$pass,$cvsuserÊÇcvs Óû§µÄid
delUser($user)----------ɾ³ýÖ¸¶¨µÄÓû§$user
verifyPassword($user,$pass)----------¼ìÑéÓû§ÃÜÂë
close()----------±£´æ¸Õ²ÅµÄÐ޸ĵ½passwordÎļþ£¬¹Ø±ÕpasswordÎļþ£¬¶ÔÎļþ½âËø¡£
5.File/SearchReplace
ÔÚÎļþÖвéÕÒºÍÌæ»»×Ö·û´®
ʹÓ÷½·¨£ºFile_SearchReplace($find, $replace, $files, $directories = '', $include_subdir = 1, $ignore_lines = array())
Éú³É²¢ÉèÖöÔÏó
$find
Òª²éÕÒµÄ×Ö·û´®£¬¿ÉÒÔÊÇ×Ö·û´®»ò¹æÔò±í´ïʽ
$replace
ÒªÌæ»»³ÉµÄ×Ö·û´®£¬¿ÉÒÔÊÇ×Ö·û´®»ò¹æÔò±í´ïʽ
$files
Ö¸¶¨ÔÚÄÄЩÎļþÖнøÐÐÌæ»»²Ù×÷£¬Êý×é»òÕßÊÇÒÔ","·Ö¸îµÄÒ»¸ö×Ö·û´®
$directories
Ö¸¶¨ÔÚÄǸöĿ¼ÖвÙ×÷£¬¿ÉÑ¡£¬Êý×é»òÕßÊÇÒÔ","·Ö¸îµÄÒ»¸ö×Ö·û´®
$include_subdir
Èç¹ûÊÇÔÚĿ¼ÖвÙ×÷£¬Ö¸¶¨ÊÇ·ñÔÚ×ÓĿ¼ÖеݹéÖ´ÐÐÉÏÊö²Ù×÷£¬¿ÉÒÔÊÇÊýÖµ1»ò0¡£
$ignore_lines
Ö¸¶¨ÒªºöÂÔµÄÎļþÐУ¬ÕâÊÇÒ»¸öÊý×飬ÈκÎÒÔÕâ¸öÊý×éÖÐÈÎÒâÒ»¸ö×Ö·û´®¿ªÊ¼µÄÎļþÐУ¬¶¼»áºöÂÔ¡£
getNumOccurences()
·µ»ØÒѾִÐÐÁ˲éÕÒÌæ»»µÄ´ÎÊý
getLastError()
·µ»ØÉÏÒ»´ÎµÄ´íÎóÐÅÏ¢
setFind($find)
ÉèÖÃÒª²éÕÒµÄ×Ö·û´®
setReplace($replace)
ÉèÖÃÒªÌæ»»µÄ×Ö·û´®
setFiles($files)
ÉèÖÃÒªÖ´ÐÐÌæ»»²Ù×÷µÄÎļþ
setDirectories($directories)
ÉèÖÃÒªÌæ»»²Ù×÷µÄĿ¼
setIncludeSubdir($include_subdir)
ÉèÖÃÊÇ·ñÔÚ×ÓĿ¼ÖÐÒ²Ö´ÐвéÕÒÌæ»»
setIgnoreLines($ignore_lines)
ÉèÖÃÒªºöÂÔµÄÐУ¬Ö»ÄÜÔÚʹÓÃ"normal"ËÑË÷º¯ÊýµÄʱºòʹÓÃ
setSearchFunction($search_function)
ÉèÖÃҪʹÓõÄËÑË÷º¯Êý£¬¿ÉÒÔÊÇÏÂÁвÎÊý£º
normal ȱʡֵ£¬Ê¹ÓÃfileº¯Êý¶ÁÈëÎļþÄÚÈÝ£¬È»ºóʹÓÃstr_replaceÖðÐеĽøÐÐÌæ»»¡£
quick ʹÓÃstr_replaceÖ±½Ó¶ÔÕû¸öÎļþ½øÐÐÌæ»»
preg ʹÓÃpreg_replace()À´½øÐÐÌæ»»,Äã¿ÉÒÔʹÓ÷ûºÏÕâ¸öº¯ÊýÒªÇóµÄ¹æÔò±í´ïʽ
ereg ʹÓÃereg_replace()À´½øÐÐÌæ»»,Äã¿ÉÒÔʹÓ÷ûºÏÕâ¸öº¯ÊýÒªÇóµÄ¹æÔò±í´ïʽ
doSearch()
Ö´ÐвéÕÒÌæ»»²Ù×÷
<?php
require_once "File/SearchReplace.php";
require_once "File/Find";
//µÝ¹éËÑË÷µ±Ç°Ä¿Â¼
$find = new File_Find;
$all_php_files = $find->search("*php",".");
if ( PEAR::isError( $all_php_files ) ){
die "´íÎó£º" . $php_files->getMessage() ."\n" ;
}
if ( !count($all_php_file) ){
die "NO php source files found!\n";
}
//½«<?µÄphp±êÖ¾ÐÞÕý³É<?php,ÒÔ·ûºÏpear±ê×¼
$replace = new File_SearchReplace('<? ','<?php ',$all_php_files);
$replace->doSearch();
if ( $replace->getLastError() ) {
die "·¢Éú´íÎó:" . $replace->getLastError() ;
} else {
echo "¹²³É¹¦Ìæ»»ÁË " . $replace->getNumOccurences() . " ´¦¡£\n";
}
?>
6.HTML/Form
Õâ¸öÄ£¿é¿ÉÒÔÈÃÄã¿ìËÙµØÉú³ÉÒ»¸öÌá½»µÄ´°Ì壬¶øÎÞÐèÖØÐÂÈ¥±àдhtml´úÂë
ʹÓ÷½·¨£ºForm::HTML_Form($action, $method = 'GET', $name = '', $target = '')
Õâ¸öÀàµÄ¹¹Ô캯Êý´øÓÐһЩ²ÎÊý£¬ÕâЩ²ÎÊýºÍͨ³£Òª±àдhtml´úÂëÖеÄform²ÎÊýÊÇ»ù±¾Ò»Öµģ¬$actionÊÇÔÚformÖÐÒªÌá½»µ½µÄURL,$name¿ÉÒÔÖ¸¶¨formµÄÃû×Ö£¬$targetÖ¸¶¨ÊÇ·ñҪпª´°¿ÚµÈµÈ¡£
ÏÂÃæµÄaddXXXϵÁз½·¨£¬ÓÃÓÚÔÚÕâ¸öformÖÐÌí¼ÓÏàÓ¦µÄ¿Ø¼þ£¬¿Ø¼þµÄÊôÐÔºÍhtmlÖеÄÒ²ÏàÒ»Ö¡£
addText($name, $title, $default, $size = HTML_FORM_TEXT_SIZE)
addCheckbox($name, $title, $default)
addTextarea($name, $title, $default,$width = HTML_FORM_TEXTAREA_WT,$height = HTML_FORM_TEXTAREA_HT)
addPassword($name, $title, $default, $size = HTML_FORM_PASSWD_SIZE)
addSubmit($name = "submit", $title = "Submit Changes")
addReset($title = "Discard Changes")
addSelect($name, $title, $entries, $default = '', $size = 1,$blank = '', $multiple = false, $attribs = '')
addRadio($name, $title, $value, $default)
addImage($name, $src)
addHidden($name, $value)
Display()
ÏÔʾÕâ¸ö´°Ìå
<?php
require_once "HTML/Form.php";
//´´½¨²¢ÏÔʾµÇ¼´°Ìå
$myform = new HTML_Form("./login.php");
$myform->addText('username','Óû§Ãû','');
$myform->addPasswd('passwd','µÇ¼ÃÜÂë',20);
$myform->addHidden('retry','1');
$myform->addSumit('login','怬');
$myform->Display();
?>
7.Mail/RFC822
¼ì²éÒ»¸öÊäÈëµÄemailÊÇ·ñºÏ·¨£¬²»ÊÇÒ»¼þºÜÇáËɵÄÊÂÇ飬ÄãÒ²Ðí³¢ÊÔʹÓÃһЩ¹æÔò±í´ïʽÀ´¼ì²é£¬µ«ÊDz¢·ÇÄÇô·½±ãÓÐЧ¡£ÏÖÔÚ£¬Èç¹ûÒª¼ì²éһϵÁеÄÓʼþµØÖ·ÊÇ·ñ·ûºÏRFC822±ê×¼£¬²¢°ÑËüÃDzð·Ö³Éµ¥¶ÀµÄemailµØÖ·£¬Äã¿ÉÒÔÊÔÊÔÕâ¸öÄ£¿é£¬·Ç³£¼òµ¥ÊµÓá£
ʹÓ÷½·¨£ºMail_RFC822($address = null, $default_domain = null, $nest_groups = null, $validate = null)
À๹Ô캯Êý£¬$addressÊÇÄãÒªÑéÖ¤µÄһϵÁеĵØÖ·£¬$default_domain£¬Ö¸¶¨È±Ê¡µÄÓòÃû»òÕßÖ÷»úÃû£¬$nest_groups ÊÇ·ñÔÚÊä³ö½á¹ûÖнøÐзÖ×飬ÒÔ±ãÏÔʾ$validate ÊÇ·ñÐèÒªÑé֤ÿ¸öÔ×ÓparseAddressList($address = null, $default_domain = null, $nest_groups = null, $validate = null)·ÖÎöÑéÖ¤Ëù¸ø¶¨µÄµØÖ·ÁÐ±í£¬Èç¹ûµØÖ·ÓÐЧ£¬·µ»Ø²ð·ÖºóµÄµ¥¶ÀµÄµØÖ·ÁÐ±í£¬Èç¹û·¢Éú´íÎó£¬Ôò·µ»Ø´íÎóÐÅÏ¢¡£
<?php
require_once "Mail/RFC822.php";
$rf822 = new Mail_RFC822;
$result=$rf822->paseAddressList('who;whoim@hotmail.com;test@test.ch');
if ( $rf822->error ){
echo "Error
result";
}else {
reset($result);
for ($i=0; $i< count($result);$i++){
echo "email
result[$i]\n";
}
}
?>
8.Mail/Sendmail
sendmailÊÇunix/linuxÉÏÃæ×î³£ÓõÄMTA,Õâ¸öÄ£¿é¿ÉÒÔÈÃÄãÖ±½ÓʹÓÃsendmailÀ´·¢ËÍÐżþ
ʹÓ÷½·¨£ºMail_sendmail($params)
À๹Ô캯Êý£¬$paramsÊÇÒ»¸ö¹ØÁªÊý×é,Äã¿ÉÒÔÉ趨sendmailµÄ²ÎÊý£¬Ä¿Ç°Ö»ÓÐ'sendmail_path'ÊÇÓÐЧµÄ£¬ÓÃÀ´ÉèÖÃsendmailµÄ·¾¶ send($recipients, $headers, $body) ·¢ËÍÐżþ£¬$recipientsÊÇÄãµÄÊÕ¼þÈ˵ÄemailµØÖ·£¬¿ÉÒÔÊǵ¥¸ö£¬Ò²¿ÉÒÔÊÇÓÃ;¸ô¿ªµÄµØÖ·ÁÐ±í£¬Ö»Òª·ûºÏRFC82±ê×¼¾Í¿ÉÒÔ¡£$headersÊÇÄã·¢ËÍÐżþµÄÐÅÍ·£¬ÕâÊÇÒ»¸ö¹ØÁªÊý×⣬Êý×éµÄ¹Ø¼ü×ÖÊÇÐÅÍ·µÄÃû×Ö£¨ÈçSubject)£¬Êý×éÖµÔòÊÇÐÅÍ·µÄÖµ(±ÈÈ磺Hello!)¡£´¦ÀíºóµÄÐÅÍ·½«»áÊÇ£ºSubject:Hello! $body ÊÇÐżþµÄÐÅÌ壬°üÀ¨ËùÓеÄMIME±àÂëºóµÄ²¿·Ö¡£Èç¹û³É¹¦£¬·µ»ØÕ棬·ñÔò·µ»ØÒ»¸öPEAR_Error¶ÔÏó
<?php
require_once "Mail/sendmail.php";
$sendmail = new Mail_sendmail(array('sendmail_path=>'/usr/local/bin/sendmail'));
$header = array('Subject'=>'Hello','BCC'=>'test2@hotmail.com');
$body = 'This is a test message from nightsailer.com';
$result = $sendmail->send('test@nightsailer.com', $header, $body);
if ( PEAR::isError($result) ){
echo "
·¢ËÍʧ°Ü
ÔÒò£º".$result->getMessage()."
"; }else { echo "
¹§Ï²£¡·¢Ëͳɹ¦£¡
"; } ?> 9.Mail/smtp ¶ÔÓÚÏÖÔÚÓÐЩվµã²»ÔÊÐíʹÓÃsendmail,ÄÇôÈç¹ûÄãµÄphp³ÌÐòÏ£ÍûʹÓ÷¢ÐʦÄÜ£¬¾ÍÐèÒªÄܹ»Í¨¹ýʹÓÃÍⲿµÄsmtp·þÎñÆ÷À´Íê³ÉÏàÓ¦µÄ¹¦ÄÜÁË¡£ ʹÓ÷½·¨£ºÊ¹ÓÃÉÏÕâ¸öÄ£¿éºÍMail::sendmail»ù±¾ÉÏÊÇÒ»ÑùµÄ¡£ÐèҪעÒâµÄÊÇ£ºÕâ¸öÄ£¿éÐèҪʹÓÃNet::SMTPÄ£¿é£ºMail_smtp($params) $paramsµÄÓÐЧ²ÎÊýÊÇ£º 'host' smtpµÄ·þÎñÆ÷µØÖ·£¬È±Ê¡ÊÇ localhost 'port' smtp·þÎñ¶Ë¿Ú£¬È±Ê¡ÊÇ25 'auth' smtpÊÇ·ñÐèÒªÊÚȨÑéÖ¤£¬È±Ê¡ÊÇfalse 'usename' smtpÊÚȨµÄÓû§Ãû 'password' smtpÊÚȨµÄÃÜÂë send($recipients, $headers, $body) ·¢ËÍ <?php require_once "Mail/sendmail.php"; $params=array('host'=>'smtp.nightsailer.com','auth'=true, 'username'=>'night','password'=>'123456'); $sendmail = new Mail_sendmail($params); $header = array('Subject'=>'Hello','BCC'=>'test2@hotmail.com'); $body = 'This is a test message from nightsailer.com'; $result = $sendmail->send('test@nightsailer.com', $header, $body); if ( PEAR::isError($result) ){ echo "
·¢ËÍʧ°Ü
ÔÒò£º".$result->getMessage()."
"; }else { echo "
¹§Ï²£¡·¢Ëͳɹ¦£¡
"; } ?> 10.Schedule/At Õâ¸öÄ£¿éÌṩÁËunixÉÏÃæµÄat³ÌÐòµÄ½Ó¿Ú add($cmd, $timespec, $queue = false, $mail = false ) ×·¼ÓÒ»¸öatÃüÁî Õâ¸ö·½·¨½«Îªat³ÌÐòÉú³ÉÒ»¸ö¶¨ÖƵÄ×÷Òµ: $cmd ÊÇÄãÒªÔËÐеijÌÐò»ò½Å±¾ $timespec ÊÇ×÷Òµ¿ªÊ¼Ö´ÐеÄʱ¼ä£¬¸ñʽÓëatÒªÇóµÄÏàͬ $queue ¿ÉÑ¡²ÎÊý£¬Ö¸Ã÷×÷ÒµµÄ¶ÓÁÐÃû $mail ¿ÉÑ¡²ÎÊý£¬Ö¸Ã÷ÊÇ·ñÔÚ×÷Òµ½áÊøºóÒª·¢ËÍemail»ã±¨ÔËÐнá¹û show($queue = false) ÏÔʾÔÚat¶ÓÁÐÖеÄÃüÁ·µ»ØÒ»¸ö¹ØÁªÊý×飬Êý×éµÄkeyÊÇ×÷ÒµµÄ±àºÅ£¬ÏàÓ¦µÄ¼üÖµÒ²ÊÇÒ»¸ö¹ØÁªÊý×飬ÄÚÈÝÊÇarray£¨runtime£¬queue£©$queueÊÇÒ»¸ö¿ÉÑ¡²ÎÊý£¬Äã¿ÉÒÔÓÃËüÏÞ¶¨Ö»·µ»Ø¶ÓÁÐÖжÓÁÐÃûÆ¥Åä$queueµÄ×÷ÒµÁбí remove($job = false) ´Óat¶ÓÁÐÖÐɾ³ýÖ¸¶¨µÄat×÷Òµ$jobÊÇҪɾ³ýµÄ×÷Òµ±àºÅ,Èç¹û£¬³É¹¦£¬·µ»Øtrue,·ñÔò·µ»Øfalse <?php require_once "Schedule/At.php"; $at = new Schedule_At(); //Éú³É²¢×·¼ÓÒ»¸ö×÷Òµ $result = $at->add ('find / -type file -name core -exec rm -f {} \;','00:00'); if ( PEAR::is_Error($result) ) { echo "ÎÞ·¨×·¼Ó×÷Òµ£¡\n"; echo "ÔÒò£º$result->getMessage() \n"; exit; } //ÏÔʾµ±Ç°at¶ÓÁÐ $queue = $at->show(); if ( PEAR::isError($queue) ) { echo "·¢Éú´íÎó£¡\n"; echo "ÔÒò£º" . queue->getMessage(). "\n"; exit; } reset( $queue ); while ( list($job, $cmd) = each $queue ){ echo "[$job]" . $cmd['runtime'] . "-" .$cmd['queue']£» echo "\n" } ?> ÒÔÉÏÊÇһЩPEARÄ£¿éµÄʹÓ㬸üΪÏêϸµÄ˵Ã÷ÐèÒªÄã×Ô¼ºÈ¥²ì¿´ÕâЩģ¿éµÄÔ´Îļþ£¬»òÕßÄã¿ÉÒÔʹÓÃphpdoc×Ô¶¯Éú³ÉÕâЩģ¿éµÄapiÎĵµ¡£¹ØÓÚphpdoc,ÎÒÃǽ«ÔÚÏÂÆªÏêϸÌÖÂÛ¡£ ËÄ¡¢×ÊÔ´ PEAR CVS Äã¿ÉÒÔ´ÓÕâÀï»ñµÃ×îеÄPEARÔ´Âë Hoder ÏîÄ¿ PHPDoc Ö÷Ò³

