ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linuxϵıà³Ì PHP¸ß¼¶¼¼ÇÉÈ«·ÅËÍ(Èý)

·¢²¼Ê±¼ä:2005-12-30 09:16:35À´Ô´:ºìÁª×÷Õß:yo
Áù¡¢¶¯Ì¬Í¼ÏñµÄ´´½¨
¡¡¡¡
¡¡¡¡Ö»Òª°²×°Ò»Ð©µÚÈý·½µÄ¿âÎļþ²¢¾ßÓÐÒ»¶¨µÄ¼¸ºÎ֪ʶ£¬¾Í¿ÉÒÔÀûÓÃPHPÀ´´´½¨ºÍ´¦ÀíͼÏñÁË¡£ÊÂʵÉÏ£¬Õâ²»ÐèҪ̫¶àµÄ¼¸ºÎ֪ʶ£¬ÒòΪÎÒ´óѧûÓбÏÒµ£¬ÈÔÈ»¿ÉÒÔÀûÓÃPHP´´½¨Í¼Ïñ¡£
¡¡¡¡
¡¡¡¡ÔÚʹÓûù±¾µÄͼÏñ´´½¨º¯Êý֮ǰ£¬ÐèÒª°²×°GD¿âÎļþ¡£Èç¹ûҪʹÓÃÓëJPEGÓйصÄͼÏñ´´½¨º¯Êý£¬»¹ÐèÒª°²×°jpeg-6b£¬Èç¹ûÒªÔÚͼÏñÖÐʹÓÃType 1ÐÍ×ÖÌ壬Ôò±ØÐë°²×°t1lib¡£
¡¡¡¡
¡¡¡¡ÔÚ½¨Á¢Í¼Ïñ´´½¨»·¾³Ö®Ç°£¬»¹ÐèÒª×÷һЩ׼±¸¹¤×÷¡£Ê×ÏÈ£¬°²×°t1lib£»Æä´Î°²×°jpeg-6b£¬È»ºóÔÙ°²×°GD¿âÎļþ¡£ÔÚ°²×°Ê±Ò»¶¨Òª°´ÕâÀï¸ø¶¨µÄ˳Ðò½øÐа²×°£¬ÒòΪÔÚ±àÒëGDΪ¿âʱ»áÓõ½jpeg-6b£¬Èç¹ûûÓа²×°jpeg-6b£¬ÔÚ±àÒëʱ¾Í»á³ö´í¡£
¡¡¡¡
¡¡¡¡ÔÚ°²×°ÍêÕâÈý¸ö×é¼þºó£¬»¹ÐèÒªÖØÐÂÅäÖÃPHP£¬ÕâÒ²ÊÇÄã¶Ô²ÉÓÃDSO·½Ê½°²×°PHP¸Ðµ½ÇìÐҵĵط½Ö®Ò»¡£ÔËÐÐmake clean£¬È»ºóÔÚµ±Ç°µÄÅäÖÃÖÐÌí¼ÓÏÂÃæµÄÄÚÈÝ£º
¡¡¡¡
¡¡¡¡--with-gd=[/path/to/gd]
¡¡¡¡--with-jpeg-dir=[/path/to/jpeg-6b]
¡¡¡¡--with-t1lib=[/path/to/t1lib]
¡¡¡¡
¡¡¡¡Íê³ÉÌí¼ÓºóÖ´ÐÐmakeÃüÁȻºóÔÙÖ´ÐÐmake installÃüÁî¡£ÖØÐÂÆô¶¯ApacheºóÔËÐÐphpinfo()À´¼ì²éÒ»ÏÂеÄÉèÖÃÊÇ·ñÉúЧÁË¡£ÏÖÔھͿÉÒÔ¿ªÊ¼Í¼Ïñ´´½¨¹¤×÷ÁË¡£
¡¡¡¡
¡¡¡¡¸ù¾ÝËù°²×°µÄGD¿âÎļþµÄ°æ±¾²»Í¬£¬ÄãÒ²ÐíÄÜ»òÕß²»ÄÜ´´½¨GIF»òPNG¸ñʽµÄͼÐÎÎļþ£¬Èç¹û°²×°µÄÊÇgd-1.6»òÒÔÇ°µÄ°æ±¾£¬¿ÉÒÔʹÓÃGIF¸ñʽµÄÎļþµ«²»ÄÜ´´½¨PNG¸ñʽ£¬Èç¹û°²×°µÄÊÇgd-1.6ÒÔºóµÄ°æ±¾£¬¿ÉÒÔ´´½¨PNGÎļþµ«²»ÄÜ´´½¨GIF¸ñʽµÄÎļþ¡£
¡¡¡¡
¡¡¡¡´´½¨Ò»·ù¼òµ¥µÄͼÏñÒ²ÐèÒªÓõ½Ðí¶àµÄº¯Êý£¬ÎÒÃǽ«Ò»²½Ò»²½µØ½øÐÐ˵Ã÷¡£
¡¡¡¡
¡¡¡¡ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃǽ«´´½¨Ò»¸öPNG¸ñʽµÄͼÏñÎļþ£¬ÏÂÃæµÄ´úÂëÊÇÒ»¸ö°üº¬Ëù´´½¨µÄͼÏñµÄMIMEÀàÐ͵ÄÍ·²¿£º
¡¡¡¡
¡¡¡¡¡¡¡¡
¡¡¡¡Ê¹ÓÃImageCreate()´´½¨Ò»¸ö´ú±í¿Õ°×ͼÏñµÄ±äÁ¿£¬Õâ¸öº¯ÊýÒªÇóÒÔÏñËØΪµ¥Î»µÄͼÏñ´óСµÄ²ÎÊý£¬Æä¸ñʽÊÇImageCreate(x_size, y_size)¡£Èç¹ûÒª´´½¨Ò»¸ö´óСΪ250X250µÄͼÏñ£¬¾Í¿ÉÒÔʹÓÃÏÂÃæµÄÓï¾ä£º
¡¡¡¡$newImg = ImageCreate(250,250);
¡¡¡¡
¡¡¡¡ÓÉÓÚͼÏñ»¹Êǿհ׵ģ¬Òò´ËÄã¿ÉÄÜ»áÏ£ÍûÓÃһЩ²ÊÉ«À´Ìî³äËü¡£È»¶ø£¬ÄãÐèÒªÊ×ÏÈʹÓÃImageColorAllocate()º¯ÊýÓÃÆäRGBֵΪÕâÖÖÑÕÉ«Ö¸¶¨Ò»¸öÃû×Ö£¬ÕâÒ»º¯ÊýµÄ¸ñʽΪImageColorAllocate([image], [red], [green], [blue])¡£Èç¹ûÒª¶¨ÒåÌìÀ¶É«£¬¿ÉÒÔʹÓÃÈçϵÄÓï¾ä£º
¡¡¡¡$skyblue = ImageColorAllocate($newImg,136,193,255);
¡¡¡¡
¡¡¡¡½ÓÏÂÀ´£¬ÐèҪʹÓÃImageFill()º¯ÊýÓÃÕâÖÖÑÕÉ«Ìî³äÕâ¸öͼÏñ£¬ImageFill()º¯ÊýÓм¸¸ö°æ±¾£¬ÀýÈçImageFillRectangle()¡¢ImageFillPolygon()µÈ¡£Îª¼òµ¥Æð¼û£¬ÎÒÃÇͨ¹ýÈçϵĸñʽʹÓÃImageFill()º¯Êý£º
¡¡¡¡ImageFill([image], [start x point], [start y point], [color])
¡¡¡¡ImageFill($newImg,0,0,$skyblue);
¡¡¡¡
¡¡¡¡×îºó£¬½¨Á¢Í¼ÏñºóÊÍ·ÅͼÏñ¾ä±úºÍËùÕ¼ÓõÄÄڴ棺
¡¡¡¡ImagePNG($newImg);
¡¡¡¡ImageDestroy($newImg); ?>
¡¡¡¡
¡¡¡¡ÕâÑù£¬´´½¨Í¼ÏñµÄÈ«²¿´úÂëÈçÏÂËùʾ£º
¡¡¡¡¡¡¡¡$newImg = ImageCreate(250,250);
¡¡¡¡$skyblue = ImageColorAllocate($newImg,136,193,255);
¡¡¡¡ImageFill($newImg,0,0,$skyblue);
¡¡¡¡ImagePNG($newImg);
¡¡¡¡ImageDestroy($newImg);
¡¡¡¡?>
¡¡¡¡
¡¡¡¡Èç¹û°ÑÕâ¸ö½Å±¾Îļþ±£´æΪskyblue.php£¬²¢ÓÃä¯ÀÀÆ÷·ÃÎÊËü£¬¾Í»á¿´µ½Ò»¸öÌìÀ¶É«µÄ250X250µÄPNG¸ñʽµÄͼÏñ¡£
¡¡¡¡
¡¡¡¡ÎÒÃÇ»¹¿ÉÒÔʹÓÃͼÏñ´´½¨º¯Êý¶ÔͼÏñ½øÐд¦Àí£¬ÀýÈç°ÑÒ»¸ö½Ï´óͼÏñ×÷³ÉÒ»¸öСͼÏñ£º
¡¡¡¡
¡¡¡¡¼ÙÉèÄãÓÐÒ»·ùͼÏñ£¬Ïë´ÓÖвüô³öÒ»¸ö35X35´óСµÄͼÏñ¡£ÄãËùÐèÒª×÷µÄÊÇ´´½¨Ò»¸ö35X35´óСµÄ¿Õ°×ͼÏñ£¬´´½¨Ò»¸ö°üº¬Ô­À´Í¼ÏñµÄͼÏñÁ÷£¬È»ºó°ÑÒ»¸ö¾­¹ýµ÷Õû´óСµÄÔ­À´µÄͼÏñ·Åµ½ÐµĿհ×ͼÏñÖС£
¡¡¡¡
¡¡¡¡ÒªÍê³ÉÕâÒ»ÈÎÎñµÄ¹Ø½¡º¯ÊýÊÇImageCopyResized()£¬ËüÒªÇóµÄ¸ñʽÈçÏÂËùʾ£º
¡¡¡¡ImageCopyResized([new image handle],[original image handle],[new image X], [new Image Y], [original image X], [original image Y], [new image X], [new image Y], [original image X], [original image Y])
¡¡¡¡
¡¡¡¡¡¡¡¡header("Content-type: image/png");
¡¡¡¡/* ½¨Á¢±£´æÐÂͼÏñ¸ß¶ÈºÍ¿í¶ÈµÄ±äÁ¿*/
¡¡¡¡$newWidth = 35;
¡¡¡¡$newHeight = 35;
¡¡¡¡/* ½¨Á¢¸ø¶¨¸ß¶ÈºÍ¿í¶ÈµÄеĿհ×ͼÏñ*/
¡¡¡¡$newImg = ImageCreate($newWidth,$newHeight);
¡¡¡¡/* ´ÓÔ­À´½Ï´óµÄͼÏñÖеõ½Êý¾Ý*/
¡¡¡¡$origImg = ImageCreateFromPNG("test.png");
¡¡¡¡/*¿½±´µ÷Õû´óСºóµÄͼÏñ£¬Ê¹ÓÃImageSX()¡¢ImageSY()µÃµ½Ô­À´µÄͼÏñÔÚX¡¢Y·½ÃæÉϵĴóС */
¡¡¡¡ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));
¡¡¡¡/*´´½¨Ï£ÍûµÃµ½µÄͼÏñ£¬ÊÍ·ÅÄÚ´æ */
¡¡¡¡ImagePNG($newImg);
¡¡¡¡ImageDestroy($newImg); ?>
¡¡¡¡
¡¡¡¡Èç¹û°ÑÕâһС¶Î½Å±¾±£´æΪresized.php£¬È»ºóÓÃä¯ÀÀÆ÷¶ÔËü½øÐзÃÎÊ£¬¾Í»á¿´µ½Ò»¸ö35X35´óСµÄPNG¸ñʽµÄͼÐΡ£
¡¡¡¡
¡¡¡¡Æß¡¢»ùÓÚPHPµÄÓû§ÈÏÖ¤
¡¡¡¡
¡¡¡¡Èç¹ûÏ£ÍûÔÚÿһ¶Î½Å±¾É϶¼½øÐпÚÁî±£»¤£¬¿ÉÒÔ½áºÏʹÓÃheader()Óï¾ä¡¢$PHP_AUTH_USERºÍ$PHP_AUTH_PWÀ´½¨Á¢»ù±¾µÄÈÏÖ¤·½°¸£¬Í¨³£µÄ»ùÓÚ·þÎñÆ÷µÄÌáÎÊ/ÏìӦ˳Ðò¶¼ÈçÏÂËùʾ£º
¡¡¡¡
¡¡¡¡1¡¢Óû§´Ó·þÎñÆ÷ÉÏÇëÇóÒ»¸öÎļþ¡£Èç¹ûÕâ¸öÎļþÔÚ·þÎñÆ÷ÉÏÊDZ»±£»¤µÄ£¬ÔòÔÚÏìÓ¦µÄÍ·²¿ÏòÓû§·µ»ØÒ»¸ö401£¨Ê¾¾­ÊÚȨµÄÓû§£©×Ö·û´®¡£
¡¡¡¡
¡¡¡¡2¡¢ä¯ÀÀÆ÷ÊÕµ½Õâ¸öÏìÓ¦ºó£¬µ¯³öÒªÇóÓû§ÊäÈëÓû§Ãû/¿ÚÁîµÄ¶Ô»°¿ò¡£
¡¡¡¡
¡¡¡¡3¡¢Óû§ÔÚ¶Ô»°¿òÖÐÊäÈëÒ»¸öÓû§ÃûºÍ¿ÚÁµã»÷OK°´Å¥½«ÐÅÏ¢·µ»Ø·þÎñÆ÷¹©ÈÏ֤ʹÓá£
¡¡¡¡
¡¡¡¡4¡¢Èç¹ûÓû§ÃûºÍ¿ÚÁîÓÐЧ£¬±»±£»¤µÄÎļþ½«ÏòÓû§¿ª·Å£¬Ö»ÒªÓû§»¹ÔÚʹÓÃÎļþ£¬ÈÏÖ¤»áÒ»Ö±ÓÐЧ¡£
¡¡¡¡
¡¡¡¡Ò»¶Î¼òµ¥µÄPHP½Å±¾Îļþͨ¹ýÏòÓû§·¢ËÍÒ»¸öÊʵ±µÄÄܹ»ÒýÆð×Ô¶¯ÏÔʾÓû§Ãû/¿ÚÁî¶Ô»°¿òµÄHTTPÍ·²¿¾Í¿ÉÒÔÄ£·ÂHTTPµÄÌáÎÊ/ÏìӦϵͳ£¬PHP°ÑÓû§ÔÚÓû§Ãû/¿ÚÁî¶Ô»°¿òÖÐÊäÈëµÄÐÅÏ¢´æ´¢ÔÚ$PHP_AUTH_USERºÍ$PHP_AUTH_PWÖУ¬Ê¹ÓÃÕâ¶þ¸ö±äÁ¿£¬¾Í¿ÉÒÔÓë´æ´¢ÔÚÎı¾Îļþ¡¢Êý¾Ý¿âµÈÎļþÖеÄÓû§Ãû/¿ÚÁî½øÐбȽϡ£
¡¡¡¡
¡¡¡¡Õâ¸öÀý×Ó²ÉÓÃÁ˶þ¸öÓ²±àÂëµÄÖµ½øÐÐÈÏÖ¤£¬µ«ÎÞÂÛÓû§ÃûºÍ¿ÚÁî·ÅÔÚʲôµØ·½£¬ÆäÔ­Àí¶¼ÊÇÏàͬµÄ¡£
¡¡¡¡¡¡¡¡/* ¼ì²é$PHP_AUTH_USERºÍ$PHP_AUTH_PWÖеÄÖµ*/
¡¡¡¡if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) {
¡¡¡¡/* Èç¹ûûÓÐÖµ£¬Ôò·¢ËÍÒ»¸öÄܹ»Òý·¢¶Ô»°¿ò³öÏÖµÄÍ·²¿*/
¡¡¡¡header('WWW-Authenticate: Basic realm="My Private Stuff"');
¡¡¡¡header('HTTP/1.0 401 Unauthorized');
¡¡¡¡echo 'Authorization Required.';
¡¡¡¡exit;
¡¡¡¡} else if ((isset($PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){
¡¡¡¡/* ±äÁ¿ÖÐÓÐÖµ£¬¼ì²éËüÃÇÊÇ·ñÕýÈ·*/
¡¡¡¡if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) {
¡¡¡¡/* Èç¹ûÊäÈëµÄÓû§ÃûºÍ¿ÚÁîÖÐÓÐÒ»¸ö²»ÕýÈ·£¬Ôò·¢ËÍÒ»¸öÄܹ»Òý·¢¶Ô»°¿ò³öÏÖµÄÍ·²¿ */
¡¡¡¡header('WWW-Authenticate: Basic realm="My Private Stuff"');
¡¡¡¡header('HTTP/1.0 401 Unauthorized');
¡¡¡¡echo 'Authorization Required.';
¡¡¡¡exit;
¡¡¡¡} else if (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword")) {
¡¡¡¡/* Èç¹û¶þ¸öÖµ¶¼ÕýÈ·£¬ÏÔʾ³É¹¦µÄÐÅÏ¢ */
¡¡¡¡echo "

You're authorized!

";
¡¡¡¡}
¡¡¡¡}
¡¡¡¡?>
¡¡¡¡
¡¡¡¡ÐèҪעÒâµÄÊÇ£¬Èç¹ûÄãʹÓõÄÊÇ»ùÓÚÎļþµÄ±£»¤»úÖÆ£¬Ëü²¢²»Äܱ£Ö¤Ä¿Â¼ÖÐËùÓеÄÎļþµÄ°²È«¡£Ëü¿ÉÄܱ£»¤´ó²¿·ÖµÄÎļþ£¬Èç¹ûÄãÈÏΪËüÄܹ»±£»¤¸ø¶¨Ä¿Â¼ÖеÄËùÓÐÎļþ£¬ÄãµÄÕâÖÖÈÏʶ¾ÍÐèÒª±ä±äÁË¡£
¡¡¡¡
¡¡¡¡°Ë¡¢PHPºÍCOM
¡¡¡¡
¡¡¡¡Èç¹ûÄãϲ»¶Ã°ÏÕ£¬²¢ÇÒÔÚWindowsÉÏÔËÐÐCGI¡¢ISAPI»òApacheÄ£¿é°æ±¾µÄPHP£¬¾Í¿ÉÒÔ·ÃÎÊCOMµÄº¯Êý¡£ºÃÁË£¬Ïêϸ½âÊÍCOMµÄ¹¤×÷¾Í½»¸ø΢ÈíºÍÐí¶à´ó²¿Í·µÄÊéÁË£¬ÎªÁËÄܼòµ¥µØÁ˽âÒ»ÏÂCOMµÄ¹¦ÄÜ£¬ÏÂÃæÊÇһС¶Î³£¼ûµÄ½Å±¾¡£
¡¡¡¡
¡¡¡¡ÕâÒ»¶ÎPHP½Å±¾ÔÚºó¶ËÆô¶¯Î¢ÈíµÄ×Ö´¦ÀíWord£¬´ò¿ªÒ»¸öеÄÎĵµ£¬ÊäÈëһЩÎÄ×Ö£¬±£´æÎĵµ£¬²¢¹Ø±ÕWord¡£
¡¡¡¡¡¡¡¡// ½¨Á¢Ò»¸öÖ¸ÏòÐÂCOM×é¼þµÄË÷Òý
¡¡¡¡$word = new COM("word.application") or die("Can't start Word!");
¡¡¡¡// ÏÔʾĿǰÕýÔÚʹÓõÄWordµÄ°æ±¾ºÅ
¡¡¡¡echo "Loading Word, v. {$word->Version}
";
¡¡¡¡// °ÑËüµÄ¿É¼ûÐÔÉèÖÃΪ0£¨¼Ù£©£¬Èç¹ûҪʹËüÔÚ×îÇ°¶Ë´ò¿ª£¬Ê¹ÓÃ1£¨Õ棩
¡¡¡¡// to open the application in the forefront, use 1 (true)
¡¡¡¡$word->Visible = 0;
¡¡¡¡// ÔÚWordÖд´½¨ÐµÄÎĵµ
¡¡¡¡$word->Documents->Add();
¡¡¡¡// ÔÚÐÂÎĵµÖÐÌí¼ÓÎÄ×Ö
¡¡¡¡$word->Selection->TypeText("Testing 1-2-3...");
¡¡¡¡//°ÑÎĵµ±£´æÔÚWindowsÁÙʱĿ¼ÖÐ
¡¡¡¡$word->Documents[1]->SaveAs("/Windows/temp/comtest.doc");
¡¡¡¡// ¹Ø±ÕÓëCOM×é¼þÖ®¼äµÄÁ¬½Ó
¡¡¡¡$word->Quit();
¡¡¡¡// ÔÚÆÁÄ»ÉÏÏÔʾÆäËûÐÅÏ¢
¡¡¡¡echo "Check for the file...";
¡¡¡¡?>
¡¡¡¡
¡¡¡¡Èç¹ûÄãÓÐÒ»¸öintranetÍøÕ¾£¬Êý¾Ý´æ´¢ÔÚSQL ServerÖУ¬Óû§ÐèÒªÕâЩÊý¾ÝµÄExcel¸ñʽ£¬Ôò¿ÉÒÔÈÃPHPÔËÐбØÒªµÄSQL²éѯ²¢¶ÔÊä³ö½øÐиñʽ»¯£¬È»ºóÀûÓÃCOM´ò¿ªExcel£¬°ÑÊý¾Ýת»¯ÎªExcel¸ñʽµÄÊý¾Ý£¬È»ºó°ÑÊý¾Ý±£´æÔÚÓû§µĄ̈ʽ»úÉÏ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ