PHP fopen() º¯Êý

¶¨ÒåºÍÓ÷¨

fopen() º¯Êý´ò¿ªÎļþ»òÕß URL¡£

Èç¹û´ò¿ªÊ§°Ü£¬±¾º¯Êý·µ»Ø FALSE¡£

Óï·¨

fopen(filename,mode,include_path,context)
²ÎÊý ÃèÊö
filename ±ØÐè¡£¹æ¶¨Òª´ò¿ªµÄÎļþ»ò URL¡£
mode ±ØÐè¡£¹æ¶¨ÒªÇ󵽸ÃÎļþ/Á÷µÄ·ÃÎÊÀàÐÍ¡£¿ÉÄܵÄÖµ¼ûÏÂ±í¡£
include_path ¿ÉÑ¡¡£Èç¹ûÒ²ÐèÒªÔÚ include_path ÖмìË÷ÎļþµÄ»°£¬¿ÉÒÔ½«¸Ã²ÎÊýÉèΪ 1 »ò TRUE¡£
context ¿ÉÑ¡¡£¹æ¶¨Îļþ¾ä±úµÄ»·¾³¡£Context ÊÇ¿ÉÒÔÐÞ¸ÄÁ÷µÄÐÐΪµÄÒ»Ì×Ñ¡Ïî¡£

mode ²ÎÊýµÄ¿ÉÄܵÄÖµ

mode ˵Ã÷
"r" Ö»¶Á·½Ê½´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþÍ·¡£
"r+" ¶Áд·½Ê½´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþÍ·¡£
"w" дÈ뷽ʽ´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþÍ·²¢½«Îļþ´óС½ØÎªÁã¡£Èç¹ûÎļþ²»´æÔÚÔò³¢ÊÔ´´½¨Ö®¡£
"w+" ¶Áд·½Ê½´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþÍ·²¢½«Îļþ´óС½ØÎªÁã¡£Èç¹ûÎļþ²»´æÔÚÔò³¢ÊÔ´´½¨Ö®¡£
"a" дÈ뷽ʽ´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþĩβ¡£Èç¹ûÎļþ²»´æÔÚÔò³¢ÊÔ´´½¨Ö®¡£
"a+" ¶Áд·½Ê½´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþĩβ¡£Èç¹ûÎļþ²»´æÔÚÔò³¢ÊÔ´´½¨Ö®¡£
"x"

´´½¨²¢ÒÔдÈ뷽ʽ´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþÍ·¡£Èç¹ûÎļþÒÑ´æÔÚ£¬Ôò fopen() µ÷ÓÃʧ°Ü²¢·µ»Ø FALSE£¬²¢Éú³ÉÒ»Ìõ E_WARNING ¼¶±ðµÄ´íÎóÐÅÏ¢¡£Èç¹ûÎļþ²»´æÔÚÔò³¢ÊÔ´´½¨Ö®¡£

ÕâºÍ¸øµ×²ãµÄ open(2) ϵͳµ÷ÓÃÖ¸¶¨ O_EXCL|O_CREAT ±ê¼ÇÊǵȼ۵ġ£

´ËÑ¡Ïî±» PHP 4.3.2 ÒÔ¼°ÒÔºóµÄ°æ±¾ËùÖ§³Ö£¬½öÄÜÓÃÓÚ±¾µØÎļþ¡£

"x+"

´´½¨²¢ÒÔ¶Áд·½Ê½´ò¿ª£¬½«ÎļþÖ¸ÕëÖ¸ÏòÎļþÍ·¡£Èç¹ûÎļþÒÑ´æÔÚ£¬Ôò fopen() µ÷ÓÃʧ°Ü²¢·µ»Ø FALSE£¬²¢Éú³ÉÒ»Ìõ E_WARNING ¼¶±ðµÄ´íÎóÐÅÏ¢¡£Èç¹ûÎļþ²»´æÔÚÔò³¢ÊÔ´´½¨Ö®¡£

ÕâºÍ¸øµ×²ãµÄ open(2) ϵͳµ÷ÓÃÖ¸¶¨ O_EXCL|O_CREAT ±ê¼ÇÊǵȼ۵ġ£

´ËÑ¡Ïî±» PHP 4.3.2 ÒÔ¼°ÒÔºóµÄ°æ±¾ËùÖ§³Ö£¬½öÄÜÓÃÓÚ±¾µØÎļþ¡£

˵Ã÷

fopen() ½« filename Ö¸¶¨µÄÃû×Ö×ÊÔ´°ó¶¨µ½Ò»¸öÁ÷ÉÏ¡£Èç¹û filename ÊÇ "scheme://..." µÄ¸ñʽ£¬Ôò±»µ±³ÉÒ»¸ö URL£¬PHP ½«ËÑË÷ЭÒé´¦ÀíÆ÷£¨Ò²±»³ÆÎª·âװЭÒ飩À´´¦Àí´Ëģʽ¡£Èç¹û¸ÃЭÒéÉÐδע²á·âװЭÒ飬PHP ½«·¢³öÒ»ÌõÏûÏ¢À´°ïÖú¼ì²é½Å±¾ÖÐDZÔÚµÄÎÊÌâ²¢½« filename µ±³ÉÒ»¸öÆÕͨµÄÎļþÃû¼ÌÐøÖ´ÐÐÏÂÈ¥¡£

Èç¹û PHP ÈÏΪ filename Ö¸¶¨µÄÊÇÒ»¸ö±¾µØÎļþ£¬½«³¢ÊÔÔÚ¸ÃÎļþÉÏ´ò¿ªÒ»¸öÁ÷¡£¸ÃÎļþ±ØÐëÊÇ PHP ¿ÉÒÔ·ÃÎʵģ¬Òò´ËÐèҪȷÈÏÎļþ·ÃÎÊȨÏÞÔÊÐí¸Ã·ÃÎÊ¡£Èç¹û¼¤»îÁ˰²È«Ä£Ê½»òÕß open_basedir Ôò»áÓ¦ÓýøÒ»²½µÄÏÞÖÆ¡£

Èç¹û PHP ÈÏΪ filename Ö¸¶¨µÄÊÇÒ»¸öÒÑ×¢²áµÄЭÒ飬¶ø¸ÃЭÒé±»×¢²áΪһ¸öÍøÂç URL£¬PHP ½«¼ì²é²¢È·ÈÏ allow_url_fopen Òѱ»¼¤»î¡£Èç¹û¹Ø±ÕÁË£¬PHP ½«·¢³öÒ»¸ö¾¯¸æ£¬¶ø fopen µÄµ÷ÓÃÔòʧ°Ü¡£

¶Ô context µÄÖ§³ÖÊÇ PHP 5.0.0 Ìí¼ÓµÄ¡£

ÌáʾºÍ×¢ÊÍ

×¢ÊÍ£º²»Í¬µÄ²Ù×÷ϵͳ¼Ò×å¾ßÓв»Í¬µÄÐнáÊøÏ°¹ß¡£µ±Ð´ÈëÒ»¸öÎı¾Îļþ²¢Ïë²åÈëÒ»¸öÐÂÐÐʱ£¬ÐèҪʹÓ÷ûºÏ²Ù×÷ϵͳµÄÐнáÊø·ûºÅ¡£»ùÓÚ Unix µÄϵͳʹÓà \n ×÷ΪÐнáÊø×Ö·û£¬»ùÓÚ Windows µÄϵͳʹÓà \r\n ×÷ΪÐнáÊø×Ö·û£¬»ùÓÚ Macintosh µÄϵͳʹÓà \r ×÷ΪÐнáÊø×Ö·û¡£ Èç¹ûдÈëÎļþʱʹÓÃÁË´íÎóµÄÐнáÊø·ûºÅ£¬ÔòÆäËüÓ¦ÓóÌÐò´ò¿ªÕâЩÎļþʱ¿ÉÄÜ»á±íÏֵúܹÖÒì¡£

Windows ÏÂÌṩÁËÒ»¸öÎı¾×ª»»±ê¼Ç£¨"t"£©¿ÉÒÔ͸Ã÷µØ½« \n ת»»Îª \r\n¡£Óë´Ë¶ÔÓ¦»¹¿ÉÒÔʹÓà "b" À´Ç¿ÖÆÊ¹Óöþ½øÖÆÄ£Ê½£¬ÕâÑù¾Í²»»áת»»Êý¾Ý¡£ÒªÊ¹ÓÃÕâЩ±ê¼Ç£¬ÒªÃ´Óà "b" »òÕßÓà "t" ×÷Ϊ mode ²ÎÊýµÄ×îºóÒ»¸ö×Ö·û¡£

ĬÈϵÄת»»Ä£Ê½ÒÀÀµÓÚ SAPI ºÍËùʹÓÃµÄ PHP °æ±¾£¬Òò´ËΪÁ˱ãÓÚÒÆÖ²¹ÄÀø×ÜÊÇÖ¸¶¨Ç¡µ±µÄ±ê¼Ç¡£Èç¹ûÊDzÙ×÷´¿Îı¾Îļþ²¢Ôڽű¾ÖÐʹÓÃÁË \n ×÷ΪÐнáÊø·û£¬µ«»¹ÒªÆÚÍûÕâЩÎļþ¿ÉÒÔ±»ÆäËüÓ¦ÓóÌÐòÀýÈç Notepad ¶ÁÈ¡£¬ÔòÔÚ mode ÖÐʹÓà "t"¡£ÔÚËùÓÐÆäËüÇé¿öÏÂʹÓà "b"¡£

ÔÚ²Ù×÷¶þ½øÖÆÎļþʱÈç¹ûûÓÐÖ¸¶¨ "b" ±ê¼Ç£¬¿ÉÄÜ»áÅöµ½Ò»Ð©Ææ¹ÖµÄÎÊÌ⣬°üÀ¨»µµôµÄͼƬÎļþÒÔ¼°¹ØÓÚ \r\n ×Ö·ûµÄÆæ¹ÖÎÊÌâ¡£

×¢ÊÍ£ºÎªÒÆÖ²ÐÔ¿¼ÂÇ£¬Ç¿ÁÒ½¨ÒéÔÚÓà fopen() ´ò¿ªÎļþʱ×ÜÊÇʹÓà "b" ±ê¼Ç¡£

×¢ÊÍ£ºÔÙÒ»´Î£¬ÎªÒÆÖ²ÐÔ¿¼ÂÇ£¬Ç¿ÁÒ½¨ÒéÄãÖØÐ´ÄÇЩÒÀÀµÓÚ "t" ģʽµÄ´úÂëʹÆäʹÓÃÕýÈ·µÄÐнáÊø·û²¢¸Ä³É "b" ģʽ¡£

Àý×Ó

<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>
VUE