´¦ÀíÖîÈç PHP Ö®ÀàµÄÏÖ´ú±à³ÌÓïÑÔµÄÀÖȤ֮һ¾ÍÊÇÓдóÁ¿µÄÑ¡Ïî¿ÉÓá£PHP ¿ÉÒÔÇáËɵØÓ®µÃ Perl µÄ×ùÓÒÃú“There's more than one way to do it”£¨²¢·ÇÖ»ÓÐÒ»ÖÖ·½·¨¿É×öÕâ¼þÊ£©£¬ÓÈÆäÊÇÔÚÎļþ´¦ÀíÉÏ¡£µ«ÊÇÔÚÕâô¶à¿ÉÓõÄÑ¡ÏîÖУ¬ÄÄÒ»ÖÖÊÇÍê³É×÷ÒµµÄ×î¼Ñ¹¤¾ß£¿µ±È»£¬Êµ¼Ê´ð°¸È¡¾öÓÚ½âÎöÎļþµÄÄ¿ ±ê£¬Òò´ËÖµµÃ»¨Ê±¼ä̽¾¿ËùÓÐÑ¡Ïî¡£
´«Í³µÄ fopen ·½·¨
fopen ·½·¨¿ÉÄÜÊÇÒÔǰµÄ C ºÍ C++ ³ÌÐòÔ±×îÊìϤµÄ£¬ÒòΪÈç¹ûÄúʹÓùýÕâЩÓïÑÔ£¬ÄÇôËüÃÇ»ò¶à»òÉÙ¶¼ÊÇÄúÒÑÕÆÎÕ¶àÄêµÄ¹¤¾ß¡£¶ÔÓÚÕâЩ·½·¨ÖеÄÈκÎÒ»ÖÖ£¬Í¨¹ýʹÓà fopen£¨ÓÃÓÚ¶ÁÈ¡Êý¾ÝµÄº¯Êý£©µÄ±ê×¼·½·¨´ò¿ªÎļþ£¬È»ºóʹÓà fclose ¹Ø±ÕÎļþ£¬ÈçÇåµ¥ 1 Ëùʾ¡£
Çåµ¥ 1. Óà fgets ´ò¿ª²¢¶ÁÈ¡Îļþ
$file_handle = fopen("myfile", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
echo $line;
}
fclose($file_handle);
ËäÈ»´ó¶àÊý¾ßÓжàÄê±à³Ì¾ÑéµÄ³ÌÐòÔ±¶¼ÊìϤÕâЩº¯Êý£¬µ«ÊÇÈÃÎÒ¶ÔÕâЩº¯Êý½øÐзֽ⡣ÓÐЧµØÖ´ÐÐÒÔϲ½Ö裺
´ò¿ªÎļþ¡£$file_handle ´æ´¢ÁËÒ»¸ö¶ÔÎļþ±¾ÉíµÄÒýÓá£
¼ì²éÄúÊÇ·ñÒѵ½´ïÎļþµÄĩβ¡£
¼ÌÐø¶ÁÈ¡Îļþ£¬Ö±ÖÁµ½´ïÎļþĩ⣬±ß¶ÁÈ¡±ß´òӡÿÐС£
¹Ø±ÕÎļþ¡£
¼ÇסÕâЩ²½Ö裬ÎÒ½«»Ø¹ËÔÚÕâÀïʹÓõÄÿ¸öÎļþº¯Êý¡£
fopen
fopen º¯Êý½«´´½¨ÓëÎļþµÄÁ¬½Ó¡£ÎÒÖ®ËùÒÔ˵“´´½¨Á¬½Ó”£¬ÊÇÒòΪ³ýÁË´ò¿ªÎļþÖ®Í⣬fopen »¹¿ÉÒÔ´ò¿ªÒ»¸ö URL£º
$fh = fopen("http://127.0.0.1/", "r");
ÕâÐдúÂ뽫´´½¨Ò»¸öÓëÒÔÉÏÒ³ÃæµÄÁ¬½Ó£¬²¢ÔÊÐíÄú¿ªÊ¼Ïñ¶Áȡһ¸ö±¾µØÎļþÒ»Ñù¶ÁÈ¡Ëü¡£
×¢£º fopen ÖÐʹÓÃµÄ "r" ½«Ö¸Ê¾ÎļþÒÔÖ»¶Á·½Ê½´ò¿ª¡£ÓÉÓÚ½«Êý¾ÝдÈëÎļþ²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶Î§ÄÚ£¬Òò´ËÎÒ½«²»ÁгöËùÓÐÆäËûÑ¡Ïî¡£µ«ÊÇ£¬Èç¹ûÊÇ´Ó¶þ½øÖÆÎļþ¶ÁÈ¡ÒÔ»ñµÃ¿çƽ̨¼æÈÝÐÔ£¬ÔòÓ¦µ±½« "r" ¸ü¸ÄΪ "rb"¡£ÉÔºóÄú½«¿´µ½ÕâÑùµÄʾÀý¡£
feof
feof ÃüÁ¼ì²âÄúÊÇ·ñÒѾ¶Áµ½ÎļþµÄĩβ²¢·µ»Ø True »ò False¡£Çåµ¥ 1 ÖеÄÑ»·½«¼ÌÐøÖ´ÐУ¬Ö±ÖÁÄú´ïµ½Îļþ“myfile”µÄĩβ¡£×¢£ºÈç¹û¶ÁÈ¡µÄÊÇ URL ²¢ÇÒÌ×½Ó×ÖÓÉÓÚ²»ÔÙÓÐÈκÎÊý¾Ý¿ÉÒÔ¶ÁÈ¡¶ø³¬Ê±£¬Ôò feof Ò²½«·µ»Ø False¡£
fclose
ÏòÇ°ÌøÖÁÇåµ¥ 1 µÄĩ⣬fclose ½«ÊµÏÖÓë fopen Ïà·´µÄ¹¦ÄÜ£ºËü½«¹Ø±ÕÖ¸ÏòÎļþ»ò URL µÄÁ¬½Ó¡£Ö´Ðд˺¯Êýºó£¬Äú½«²»ÔÙÄܹ»´ÓÎļþ»òÌ×½Ó×ÖÖжÁÈ¡ÈκÎÐÅÏ¢¡£
fgets
ÔÚÇåµ¥ 1 ÖлØÌø¼¸ÐУ¬Äú¾Íµ½´ïÁËÎļþ´¦ÀíµÄºËÐÄ£ºÊµ¼Ê¶ÁÈ¡Îļþ¡£fgets º¯ÊýÊÇ´¦ÀíµÚÒ»¸öʾÀýµÄÊ×Ñ¡ÎäÆ÷¡£Ëü½«´ÓÎļþÖÐÌáȡһÐÐÊý¾Ý²¢½«Æä×÷Ϊ×Ö·û´®·µ»Ø¡£ÔÚÄÇÖ®ºó£¬Äú¿ÉÒÔ´òÓ¡»òÕßÒÔ±ðµÄ·½Ê½´¦ÀíÊý¾Ý¡£Çåµ¥ 1 ÖеÄʾÀý½«¾«Ï¸µØ´òÓ¡Õû¸öÎļþ¡£
Èç¹û¾ö¶¨ÏÞÖÆ´¦ÀíÊý¾Ý¿éµÄ´óС£¬Äú¿ÉÒÔ½«Ò»¸ö²ÎÊýÌí¼Óµ½ fgets ÖÐÏÞÖÆ×î´óÐг¤¶È¡£ÀýÈ磬ʹÓÃÒÔÏ´úÂ뽫Ð㤶ÈÏÞÖÆÎª 80 ¸ö×Ö·û£º
$string = fgets($file_handle, 81);
»ØÏë C Öеē\0”×Ö·û´®Ä©Î²ÖÕÖ¹·û£¬½«³¤¶ÈÉèΪ±Èʵ¼ÊËùÐèÖµ´óÒ»µÄÊý×Ö¡£Òò¶ø£¬Èç¹ûÐèÒª 80 ¸ö×Ö·û£¬ÔòÒÔÉÏʾÀýʹÓà 81¡£Ó¦Ñø³ÉÒÔÏÂϰ¹ß£ºÖ»Òª¶Ô´Ëº¯ÊýʹÓÃÐÐÏÞÖÆ£¬¾ÍÌí¼Ó¸Ã¶îÍâ×Ö·û¡£
fread
fgets º¯ÊýÊǶà¸öÎļþ¶ÁÈ¡º¯ÊýÖÐΩһһ¸ö¿ÉÓõġ£ËüÊÇÒ»¸ö¸ü³£Óõĺ¯Êý£¬ÒòΪÖðÐнâÎöͨ³£»áÓÐÒâÒå¡£ÊÂʵÉÏ£¬¼¸¸öÆäËûº¯ÊýÒ²¿ÉÒÔÌṩÀàËÆ¹¦ÄÜ¡£µ«ÊÇ£¬Äú²¢·Ç×ÜÊÇÐèÒªÖðÐнâÎö¡£
Õâʱ¾ÍÐèҪʹÓà fread¡£fread º¯ÊýÓë fgets µÄ´¦ÀíÄ¿±êÂÔÓв»Í¬£ºËüÇ÷ÓÚ´Ó¶þ½øÖÆÎļþ£¨¼´£¬²¢·ÇÖ÷Òª°üº¬ÈËÀà¿ÉÔĶÁµÄÎı¾µÄÎļþ£©ÖжÁÈ¡ÐÅÏ¢¡£ÓÉÓÚ“ÐДµÄ¸ÅÄîÓë¶þ½øÖÆÎļþÎ޹أ¨Âß¼Êý¾Ý½á¹¹Í¨³£¶¼²»ÊÇÓÉÐÂÐÐÖÕÖ¹£©£¬Òò´ËÄú±ØÐëÖ¸¶¨ÐèÒª¶ÁÈëµÄ×Ö½ÚÊý¡£
$fh = fopen("myfile", "rb");
$data = fread($file_handle, 4096);
ʹÓöþ½øÖÆÊý¾Ý
×¢Ò⣺´Ëº¯ÊýµÄʾÀýÒѾʹÓÃÁËÂÔ΢²»Í¬ÓÚ fopen µÄ²ÎÊý¡£µ±´¦Àí¶þ½øÖÆÊý¾Ýʱ£¬Ê¼ÖÕÒª¼ÇµÃ½« b Ñ¡Ïî°üº¬ÔÚ fopen ÖС£Èç¹ûÌø¹ýÕâÒ»µã£¬Microsoft® Windows® ϵͳ¿ÉÄÜÎÞ·¨ÕýÈ·´¦ÀíÎļþ£¬ÒòΪËüÃǽ«ÒÔ²»Í¬µÄ·½Ê½´¦ÀíÐÂÐС£Èç¹û´¦ÀíµÄÊÇ Linux® ϵͳ£¨»òÆäËûij¸ö UNIX® ±äÖÖ£©£¬ÔòÕâ¿ÉÄÜ¿´ËÆÃ»Ê²Ã´¹ØÏµ¡£µ«¼´Ê¹²»ÊÇÕë¶Ô Windows ¿ª·¢µÄ£¬ÕâÑù×öÒ²½«»ñµÃÁ¼ºÃµÄ¿çƽ̨¿Éά»¤ÐÔ£¬²¢ÇÒÒ²ÊÇÓ¦µ±×ñѵÄÒ»¸öºÃϰ¹ß¡£
ÒÔÉÏ´úÂ뽫¶ÁÈ¡ 4,096 ×Ö½Ú (4 KB) µÄÊý¾Ý¡£×¢£º²»¹ÜÖ¸¶¨¶àÉÙ×Ö½Ú£¬fread ¶¼²»»á¶ÁÈ¡³¬¹ý 8,192 ¸ö×Ö½Ú (8 KB)¡£
¼Ù¶¨Îļþ´óС²»³¬¹ý 8 KB£¬ÔòÒÔÏ´úÂëÓ¦µ±Äܽ«Õû¸öÎļþ¶ÁÈëÒ»¸ö×Ö·û´®¡£
$fh = fopen("myfile", "rb");
$data = fread($fh, filesize("myfile"));
fclose($fh);
Èç¹ûÎļþ³¤¶È´óÓÚ´ËÖµ£¬ÔòÖ»ÄÜʹÓÃÑ»·½«ÆäÓàÄÚÈݶÁÈë¡£
fscanf
»Øµ½×Ö·û´®´¦Àí£¬fscanf ͬÑù×ñÑ´«Í³µÄ C Îļþ¿âº¯Êý¡£Èç¹ûÄú²»ÊìϤËü£¬Ôò fscanf ½«°Ñ×Ö¶ÎÊý¾Ý´ÓÎļþ¶ÁÈë±äÁ¿ÖС£
list ($field1, $field2, $field3) = fscanf($fh, "%s %s %s");
´Ëº¯ÊýʹÓõĸñʽ×Ö·û´®ÔÚºÜ¶àµØ·½¶¼ÓÐÃèÊö£¨Èç PHP.net ÖУ©£¬¹ÊÔڴ˲»ÔÙ׸Êö¡£¿ÉÒÔÕâÑù˵£¬×Ö·û´®¸ñʽ»¯¼«ÎªÁé»î¡£ÖµµÃ×¢ÒâµÄÊÇËùÓÐ×ֶζ¼·ÅÔÚº¯ÊýµÄ·µ»ØÖµÖС££¨ÔÚ C ÖУ¬ËüÃǶ¼±»×÷Ϊ²ÎÊý´«µÝ¡££©
fgetss
fgetss º¯Êý²»Í¬ÓÚ´«Í³Îļþº¯Êý²¢Ê¹ÄúÄܸüºÃµØÁ˽â PHP µÄÁ¦Á¿¡£¸Ãº¯ÊýµÄ¹¦ÄÜÀàËÆÓÚ fgets º¯Êý£¬µ«½«È¥µô·¢ÏÖµÄÈκΠHTML »ò PHP ±ê¼Ç£¬Ö»ÁôÏ´¿Îı¾¡£²é¿´ÈçÏÂËùʾµÄ HTML Îļþ¡£
Çåµ¥ 2. ÑùÀý HTML Îļþ
<html>
<head><title>My title</title></head>
<body>
<p>If you understand what "Cause there ain't no one for to give you no pain"
means then you listen to too much of the band America</p>
</body>
</html>
È»ºóͨ¹ý fgetss º¯Êý¹ýÂËËü¡£
Çåµ¥ 3. ʹÓà fgetss
$file_handle = fopen("myfile", "r");
while (!feof($file_handle)) {
echo = fgetss($file_handle);
}
fclose($file_handle);
ÒÔÏÂÊÇÊä³ö£º
My title
If you understand what "Cause there ain't no one for to give you no pain"
means then you listen to too much of the band America
fpassthru º¯Êý
ÎÞÂÛÔõÑù¶ÁÈ¡Îļþ£¬Äú¶¼¿ÉÒÔʹÓà fpassthru ½«ÆäÓàÊý¾Ýת´¢µ½±ê×¼Êä³öͨµÀ¡£
fpassthru($fh);
´ËÍ⣬´Ëº¯Êý½«´òÓ¡Êý¾Ý£¬Òò´ËÎÞÐèʹÓñäÁ¿»ñÈ¡Êý¾Ý¡£
·ÇÏßÐÔÎļþ´¦Àí£ºÌøÔ¾·ÃÎÊ
µ±È»£¬ÒÔÉϺ¯ÊýÖ»ÔÊÐí˳Ðò¶ÁÈ¡Îļþ¡£¸ü¸´ÔÓµÄÎļþ¿ÉÄÜÒªÇóÄúÀ´»ØÌø×ªµ½ÎļþµÄ²»Í¬²¿·Ö¡£Õâʱ¾ÍÓõÃ×Å fseek ÁË¡£
fseek($fh, 0);
ÒÔÉÏʾÀý½«Ìø×ª»ØÎļþµÄ¿ªÍ·¡£Èç¹û²»ÐèÒªÍêÈ«·µ»Ø —— ÎÒÃÇ¿ÉÉ趨·µ»ØÇ§×Ö½Ú —— È»ºó¾Í¿ÉÒÔÕâÑùд£º
fseek($fh, 1024);
´Ó PHP V4.0 ¿ªÊ¼£¬ÄúÓÐһЩÆäËûÑ¡Ïî¡£ÀýÈ磬Èç¹ûÐèÒª´Óµ±Ç°Î»ÖÃÏòÇ°Ìø×ª 100 ¸ö×Ö½Ú£¬Ôò¿ÉÒÔ³¢ÊÔʹÓãº
fseek($fh, 100, SEEK_CUR);
ÀàËÆµØ£¬¿ÉÒÔʹÓÃÒÔÏ´úÂëÏòºóÌø×ª 100 ¸ö×Ö½Ú£º
fseek($fh, -100, SEEK_CUR);
Èç¹ûÐèÒªÏòºóÌø×ªÖÁÎļþĩβǰ 100 ¸ö×Ö½Ú´¦£¬ÔòӦʹÓà SEEK_END¡£
fseek($fh, -100, SEEK_END);
ÔÚµ½´ïÐÂλÖú󣬿ÉÒÔʹÓà fgets¡¢fscanf »òÈÎºÎÆäËû·½·¨¶ÁÈ¡Êý¾Ý¡£
×¢£º²»Äܽ« fseek ÓÃÓÚÒýÓà URL µÄÎļþ´¦Àí¡£
ÌáÈ¡Õû¸öÎļþ
ÏÖÔÚ£¬ÎÒÃǽ«½Ó´¥µ½Ò»Ð© PHP µÄ¸ü¶ÀÌØµÄÎļþ´¦Àí¹¦ÄÜ£ºÓÃÒ»Á½Ðд¦Àí´ó¿éÊý¾Ý¡£ÀýÈ磬ÈçºÎÌáÈ¡Îļþ²¢ÔÚ Web Ò³ÃæÉÏÏÔʾÆäÈ«²¿ÄÚÈÝ£¿ºÃµÄ£¬Äú¿´µ½ÁË fgets ʹÓÃÑ»·µÄʾÀý¡£µ«ÊÇÈçºÎÄܹ»Ê¹´Ë¹ý³Ì±äµÃ¸ü¼òµ¥£¿Óà fgetcontents »áʹ¹ý³Ì³¬¼¶¼òµ¥£¬¸Ã·½·¨½«°ÑÕû¸öÎļþ·ÅÈëÒ»¸ö×Ö·û´®ÖС£
$my_file = file_get_contents("myfilename");
echo $my_file;
ËäÈ»Ëü²»ÊÇ×îºÃµÄ×ö·¨£¬µ«ÊÇ¿ÉÒÔ½«´ËÃüÁî¸ü¼òÃ÷µØÐ´Îª£º
echo file_get_contents("myfilename");
±¾ÎÄÖ÷Òª½éÉܵÄÊÇÈçºÎ´¦Àí±¾µØÎļþ£¬µ«ÊÇÖµµÃ×¢ÒâµÄÊÇÄú»¹¿ÉÒÔÓÃÕâЩº¯ÊýÌáÈ¡¡¢»ØÏԺͽâÎöÆäËû Web Ò³Ãæ¡£
echo file_get_contents("http://127.0.0.1/");
´ËÃüÁîµÈЧÓÚ£º
$fh = fopen("http://127.0.0.1/", "r");
fpassthru($fh);
ÄúÒ»¶¨»á²é¿´´ËÃüÁî²¢ÈÏΪ£º“ÄÇ»¹ÊÇÌ«·ÑÁ¦”¡£PHP ¿ª·¢ÈËԱͬÒâÄúµÄ¿´·¨¡£Òò´Ë¿ÉÒÔ½«ÒÔÉÏÃüÁîËõ¶ÌΪ£º
readfile("http://127.0.0.1/");
readfile º¯Êý½«°ÑÎļþ»ò Web Ò³ÃæµÄÈ«²¿ÄÚÈÝת´¢µ½Ä¬ÈϵÄÊä³ö»º³åÇø¡£Ä¬ÈÏÇé¿öÏ£¬Èç¹ûʧ°Ü£¬´ËÃüÁ´òÓ¡´íÎóÏûÏ¢¡£Òª±ÜÃâ´ËÐÐΪ£¨Èç¹ûÐèÒª£©£¬Çë³¢ÊÔ£º
@readfile("http://127.0.0.1/");
µ±È»£¬Èç¹ûȷʵÐèÒª½âÎöÎļþ£¬Ôò file_get_contents ·µ»ØµÄµ¥¸ö×Ö·û´®¿ÉÄÜÓÐЩÈÃÈ˳Բ»Ïû¡£ÄúµÄµÚÒ»·´Ó¦¿ÉÄÜÊÇÓà split() º¯Êý½«Ëü·Ö½âһϡ£
$array = split("\n", file_get_contents("myfile"));
µ«ÊǼÈÈ»ÒѾÓÐÒ»¸öºÜºÃµÄº¯ÊýΪÄúÖ´Ðд˲Ù×÷Ϊʲô»¹ÒªÕâÑù´ó·ÑÖÜÕ£¿PHP µÄ file() º¯ÊýÒ»²½¼´¿ÉÍê³É´Ë²Ù×÷£ºËü½«·µ»Ø·ÖΪÈô¸ÉÐеÄ×Ö·û´®Êý×é¡£
$array = file("myfile");
Ó¦µ±×¢ÒâµÄÊÇ£¬ÒÔÉÏÁ½¸öʾÀýÓÐÒ»µãϸ΢²î±ð¡£ËäÈ» split ÃüÁɾ³ýÐÂÐУ¬µ«Êǵ±Ê¹Óà file ÃüÁÓë fgets ÃüÁîÒ»Ñù£©Ê±£¬ÐÂÐÐÈÔ½«±»¸½¼Óµ½Êý×éÖеÄ×Ö·û´®ÉÏ¡£
µ«ÊÇ£¬PHP µÄÁ¦Á¿»¹Ô¶²»Ö¹ÓÚ´Ë¡£Äú¿ÉÒÔÔÚÒ»ÌõÃüÁîÖÐʹÓà parse_ini_file ½âÎöÕû¸ö PHP ÑùʽµÄ .ini Îļþ¡£parse_ini_file ÃüÁî½ÓÊÜÀàËÆÇåµ¥ 4 ËùʾµÄÎļþ¡£
Çåµ¥ 4. ÑùÀý .ini Îļþ
; Comment
[personal information]
name = "King Arthur"
quest = To seek the holy grail
favorite color = Blue
[more stuff]
Samuel Clemens = Mark Twain
Caryn Johnson = Whoopi Goldberg
ÒÔÏÂÃüÁ°Ñ´ËÎļþת´¢ÎªÊý×飬Ȼºó´òÓ¡¸ÃÊý×飺
$file_array = parse_ini_file("holy_grail.ini");
print_r $file_array;
ÒÔÏÂÊä³öµÄÊǽá¹û£º
Listing 5. Êä³ö
Array
(
[name] => King Arthur
[quest] => To seek the Holy Grail
[favorite color] => Blue
[Samuel Clemens] => Mark Twain
[Caryn Johnson] => Whoopi Goldberg
)
µ±È»£¬Äú¿ÉÄÜ×¢Òâµ½´ËÃüÁîºÏ²¢Á˸÷¸ö²¿·Ö¡£ÕâÊÇĬÈÏÐÐΪ£¬µ«ÊÇÄú¿ÉÒÔͨ¹ý½«µÚ¶þ¸ö²ÎÊý´«µÝ¸ø parse_ini_file ÇáËɵØÐÞÕýËü£ºprocess_sections£¬ÕâÊÇÒ»¸ö²¼¶ûÐͱäÁ¿¡£½« process_sections ÉèΪ True¡£
$file_array = parse_ini_file("holy_grail.ini", true);
print_r $file_array;
²¢ÇÒÄú½«»ñµÃÒÔÏÂÊä³ö£º
Çåµ¥ 6. Êä³ö
Array
(
[personal information] => Array
(
[name] => King Arthur
[quest] => To seek the Holy Grail
[favorite color] => Blue
)
[more stuff] => Array
(
[Samuel Clemens] => Mark Twain
[Caryn Johnson] => Whoopi Goldberg
)
)
PHP ½«°ÑÊý¾Ý·ÅÈë¿ÉÒÔÇáËɽâÎöµÄ¶àάÊý×éÖС£
¶ÔÓÚ PHP Îļþ´¦ÀíÀ´Ëµ£¬ÕâÖ»ÊDZùɽһ½Ç¡£ÖîÈç tidy_parse_file ºÍ xml_parse Ö®ÀàµÄ¸ü¸´Ôӵĺ¯Êý¿ÉÒÔ·Ö±ð°ïÖúÄú´¦Àí HTML ºÍ XML Îĵµ¡£ÓйØÕâÐ©ÌØÊ⺯ÊýµÄʹÓÃϸ½Ú¡£Èç¹ûÄúÒª´¦ÀíÄÇЩÀàÐ͵ÄÎļþ£¬ÔòÄÇЩ²Î¿¼×ÊÁÏÖµµÃÒ»¿´£¬µ«²»±Ø¹ý¶È¿¼ÂDZ¾ÎÄÖÐ̸µ½µÄÿÖÖ¿ÉÄÜÓöµ½µÄÎļþÀàÐÍ£¬ÏÂÃæÊÇÒ» ЩÓÃÓÚ´¦Àíµ½Ä¿Ç°ÎªÖ¹½éÉܵĺ¯ÊýµÄºÜºÃµÄͨÓùæÔò¡£
×î¼Ñʵ¼ù
¾ø²»Òª¼Ù¶¨³ÌÐòÖеÄÒ»Çж¼½«°´¼Æ»®ÔËÐС£ÀýÈ磬Èç¹ûÄúÒª²éÕÒµÄÎļþÒѱ»Òƶ¯¸Ãµ±ÈçºÎ£¿Èç¹ûȨÏÞÒѱ»¸Ä±ä¶øÎÞ·¨¶ÁÈ¡ÆäÄÚÈÝÓÖµ±ÈçºÎ£¿Äú¿ÉÒÔͨ¹ýʹÓà file_exists ºÍ is_readable Ô¤Ïȼì²éÕâЩÎÊÌâ¡£
Çåµ¥ 7. ʹÓà file_exists ºÍ is_readable
$filename = "myfile";
if (file_exists($filename) && is_readable ($filename)) {
$fh = fopen($filename, "r");
# Processing
fclose($fh);
}
µ«ÊÇ£¬ÔÚʵ¼ùÖУ¬ÓÃÕâÑùµÄ´úÂë¿ÉÄÜÌ«·±ËöÁË¡£´¦Àí fopen µÄ·µ»ØÖµ¸ü¼òµ¥²¢ÇÒ¸ü׼ȷ¡£
if ($fh = fopen($filename, "r")) {
# Processing
fclose($fh);
}
ÓÉÓÚʧ°Üʱ fopen ½«·µ»Ø False£¬Õ⽫ȷ±£½öµ±Îļþ³É¹¦´ò¿ªºó²ÅÖ´ÐÐÎļþ´¦Àí¡£µ±È»£¬Èç¹ûÎļþ²»´æÔÚ»òÕß²»¿É¶Á£¬Äú¿ÉÒÔÆÚÍûÒ»¸ö¸º·µ»ØÖµ¡£Õ⽫ʹÕâ¸ö¼ì²é¿ÉÒÔ¼ì²éËùÓпÉÄÜÓöµ½µÄÎÊÌâ¡£´ËÍ⣬Èç¹û´ò¿ªÊ§°Ü£¬¿ÉÒÔÍ˳ö³ÌÐò»òÈóÌÐòÏÔʾ´íÎóÏûÏ¢¡£
Èç fopen º¯ÊýÒ»Ñù£¬file_get_contents¡¢file ºÍ readfile º¯Êý¶¼ÔÚ´ò¿ªÊ§°Ü»ò´¦ÀíÎļþʧ°Üʱ·µ»Ø False¡£fgets¡¢fgetss¡¢fread¡¢fscanf ºÍ fclose º¯ÊýÔÚ³ö´íʱҲ·µ»Ø False¡£µ±È»£¬³ý fclose ÒÔÍ⣬Äú¿ÉÄÜÒѾ¶ÔÕâЩº¯ÊýµÄ·µ»ØÖµ¶¼½øÐÐÁË´¦Àí¡£Ê¹Óà fclose ʱ£¬¼´Ê¹Îļþ´¦ÀíδÕý³£¹Ø±Õ£¬Ò²²»»áÖ´ÐÐʲô²Ù×÷£¬Òò´Ëͨ³£²»±Ø¼ì²é fclose µÄ·µ»ØÖµ
ÓÉÄúÀ´Ñ¡Ôñ
PHP ²»È±¶ÁÈ¡ºÍ½âÎöÎļþµÄÓÐЧ·½·¨¡£ÖîÈç fread Ö®ÀàµÄµäÐͺ¯Êý¿ÉÄÜÔÚ´ó¶àÊýʱºò¶¼ÊÇ×î¼ÑµÄÑ¡Ôñ£¬»òÕßµ± readfile ¸ÕºÃÄÜÂú×ãÈÎÎñÐèҪʱ£¬Äú¿ÉÄܻᷢÏÖ×Ô¼º¸üΪ readfile µÄ¼òµ¥ËùÎüÒý¡£Ëüʵ¼ÊÉÏÈ¡¾öÓÚËùÒªÍê³ÉµÄ²Ù×÷¡£
Èç¹ûÒª´¦Àí´óÁ¿Êý¾Ý£¬fscanf ½«ÄÜÖ¤Ã÷×Ô¼ºµÄ¼ÛÖµ²¢±ÈʹÓà file ¸½´ø split ºÍ sprintf ÃüÁî¸üÓÐЧÂÊ¡£Ïà·´£¬Èç¹ûÒª»ØÏÔÖ»×öÁËÉÙÐíÐ޸ĵĴóÁ¿Îı¾£¬ÔòʹÓà file¡¢file_get_contents »ò readfile ¿ÉÄܸüºÏÊÊ¡£Ê¹Óà PHP ½øÐлº´æ»òÕß´´½¨È¨Ò˵ĴúÀí·þÎñÆ÷ʱ¿ÉÄܾÍÊôÓÚÕâÖÖÇé¿ö¡£
PHP ¸øÄúÌṩÁË´óÁ¿´¦ÀíÎļþµÄ¹¤¾ß¡£ÉîÈëÁ˽âÕâЩ¹¤¾ß²¢Á˽âÄÄЩ¹¤¾ß×îÊʺÏÓÚÒª´¦ÀíµÄÏîÄ¿¡£ÄúÒÑÓµÓкܶàµÄÑ¡Ôñ£¬Òò´ËºÃºÃµØÀûÓÃËüÃÇÏíÊÜʹÓà PHP ´¦ÀíÎļþµÄÀÖȤ¡£
![nixsky[www.nixsky.com]](/templets/images/toplogo.gif)

