ÂéÀ±ÌÃ|×ÊÔ´Ö÷Õ¾|¿ª·¢ÂÛ̳|ÔÚÏßÊÖ²á
Ê×Ò³ ©¦ Apache ©¦ Linux©¦ Java©¦ MySQL©¦ ×¢²á©¦°ïÖú 
PHPÏîÄ¿¿ª·¢×éÊÇPHP¿ª·¢×ÊÔ´ÍøÓÚ2007×éÄ꽨³ÉÁ¢µÄÏîÄ¿¿ª·¢ÍŶӣ¬Ä¿Ç°ºËÐÄ¿ª·¢³ÉÔ±ÓÐ27ÈË, ÏîĿЭ×÷³ÉÔ±8Ãû.ÏÂÉè7¸ö¿ª·¢×飬Ö÷Òª³Ð½Ó´ó/ÖÐÐÍÍøÕ¾ÏîÄ¿¿ª·¢ÈÎÎñ¡£

    ÓÉÓÚ¿ª·¢ÈÎÎñ½Ï¶à£¬ÈËÔ±±È½Ï½ôÕÅ£¬ÏÖÃæÏòÉç»áÕÐÆ¸È«Ö°»òÕß¼æÖ°¿ª·¢ÈËÔ±£¬²»¹ÜÄãÊÇÔÚУ´óѧÉú£¬»¹ÊÇȫְ¿ª·¢ÈËÔ±£¬ÒÔ¼°SOHO¶¼¿ÉÒÔÁªÏµ±¾Õ¾£¬ÎÒÃÇ¿ÉÒÔ³¤ÆÚºÏ×÷£¬²¢ÎªÄú´øÀ´·áºñµÄ±¨³ê¡£
  ÄúÏÖÔÚµÄλÖãºPHP¿ª·¢×ÊÔ´Íø > ÂéÀ±Ìà > Ïêϸ×ÊÁÏ
´ý½â¾ö
[ת] Pear:³£ÓÃÄ£¿é£¬Ï²»¶PearµÄÈ˿쿴°É£¡
ÐüÉÍ·Ö£º20 - 2007Äê08ÔÂ13ÈÕ

Ô­ÎÄ 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 "Errorresult"; }else { reset($result); for ($i=0; $i< count($result);$i++){ echo "emailresult[$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 Ö÷Ò³

ÌáÎÊÕߣºbluedoor   08-13 16:04
´ð¸´
·¹ý¡£¡£¡£Ë³±ã°ï¶¥:)
»Ø´ðÕߣºÓñÃפűù¶³¿ÉÀÖ - Í߸ڴåÃñ 8-22 09:10
ÎÒÒ²À´»Ø´ð£º
²»¹ÜÄãÓÐûÓаïÖúÎÒÃÇ£¬Í߸ÚÕ¯8Íò´åÃñ½«¸ÐлÄã¡£¡£¡£¡£¡£

Ϊ·ÀÖ¹¹àË®£¬ÄúÐèÒª¼ÆËãÒ»µÀÊýѧÌ⣺ ´ð°¸£º
12 + 7 = ? Ç뽫¼ÆËã½á¹ûÌîÔÚÉÏÃæ

 
[]
©2007 PhpRes.COM