fopen

(PHP 4, PHP 5, PHP 7)

fopen���ļ����� URL

˵��

fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) : resource

fopen() �� filename ָ����������Դ�󶨵�һ�����ϡ�

����

filename

��� filename �� "scheme://..." �ĸ�ʽ���򱻵���һ�� URL��PHP ������Э�鴦������Ҳ����Ϊ��װЭ�飩�������ģʽ�������Э����δע���װЭ�飬PHP ������һ����Ϣ���������ű���DZ�ڵ����Ⲣ�� filename ����һ����ͨ���ļ�������ִ����ȥ��

��� PHP ��Ϊ filename ָ������һ�������ļ����������ڸ��ļ��ϴ�һ���������ļ������� PHP ���Է��ʵģ������Ҫȷ���ļ�����Ȩ������÷��ʡ������������ȫģʽ���� open_basedir ���Ӧ�ý�һ�������ơ�

��� PHP ��Ϊ filename ָ������һ����ע���Э�飬����Э�鱻ע��Ϊһ������ URL��PHP ����鲢ȷ�� allow_url_fopen �ѱ��������ر��ˣ�PHP ������һ�����棬�� fopen �ĵ�����ʧ�ܡ�

Note:

��֧�ֵ�Э���б��֧�ֵ�Э��ͷ�װЭ����ijЩЭ�飨Ҳ����Ϊ wrappers��֧�� context �ͣ��� php.ini ѡ��μ���Ӧ��ҳ����Щѡ����Ա��趨������ php.ini ������ http wrapper �� user_agent ֵ����

On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.

<?php
$handle 
fopen("c:\\folder\\resource.txt""r");
?>

mode

mode ����ָ������Ҫ�󵽸����ķ������͡����������£�

fopen() �� mode �Ŀ���ֵ�б�
mode ˵��
'r' ֻ����ʽ�򿪣����ļ�ָ��ָ���ļ�ͷ��
'r+' ��д��ʽ�򿪣����ļ�ָ��ָ���ļ�ͷ��
'w' д�뷽ʽ�򿪣����ļ�ָ��ָ���ļ�ͷ�����ļ���С��Ϊ�㡣����ļ����������Դ���֮��
'w+' ��д��ʽ�򿪣����ļ�ָ��ָ���ļ�ͷ�����ļ���С��Ϊ�㡣����ļ����������Դ���֮��
'a' д�뷽ʽ�򿪣����ļ�ָ��ָ���ļ�ĩβ������ļ����������Դ���֮��
'a+' ��д��ʽ�򿪣����ļ�ָ��ָ���ļ�ĩβ������ļ����������Դ���֮��
'x' ��������д�뷽ʽ�򿪣����ļ�ָ��ָ���ļ�ͷ������ļ��Ѵ��ڣ��� fopen() ����ʧ�ܲ����� FALSE��������һ�� E_WARNING ����Ĵ�����Ϣ������ļ����������Դ���֮����͸� �ײ�� open(2) ϵͳ����ָ�� O_EXCL|O_CREAT ����ǵȼ۵ġ�
'x+' �������Զ�д��ʽ�򿪣���������Ϊ�� 'x' һ����
'c' Open the file for writing only. If the file does not exist, it is created. If it exists, it is neither truncated (as opposed to 'w'), nor the call to this function fails (as is the case with 'x'). The file pointer is positioned on the beginning of the file. This may be useful if it's desired to get an advisory lock (see flock()) before attempting to modify the file, as using 'w' could truncate the file before the lock was obtained (if truncation is desired, ftruncate() can be used after the lock is requested).
'c+' Open the file for reading and writing; otherwise it has the same behavior as 'c'.

Note:

��ͬ�IJ���ϵͳ������в�ͬ���н���ϰ�ߡ���д��һ���ı��ļ��������һ������ʱ����Ҫʹ�÷��ϲ���ϵͳ���н������š����� 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 �ַ���������⡣

Note:

Ϊ��ֲ�Կ��ǣ�ǿ�ҽ������� fopen() ���ļ�ʱ����ʹ�� 'b' ��ǡ�

Note:

��һ�Σ�Ϊ��ֲ�Կ��ǣ�ǿ�ҽ�������д��Щ������ 't' ģʽ�Ĵ���ʹ��ʹ����ȷ���н��������ij� 'b' ģʽ��

use_include_path

���Ҳ��Ҫ�� include_path ����Ѱ�ļ��Ļ������Խ���ѡ�ĵ��������� use_include_path ��Ϊ '1' �� TRUE��

context

Note: �� PHP 5.0.0 �������˶������ģ�Context����֧�֡��й������ģ�Context����˵���μ� Streams��

����ֵ

�ɹ�ʱ�����ļ�ָ����Դ�������ʧ�ܣ����������� FALSE��

�����쳣

�����ʧ�ܣ������һ�� E_WARNING ���󡣿���ͨ�� @ �����δ���

������־

�汾 ˵��
4.3.2 �� PHP 4.3.2 �𣬶�������������ƺ��ı�ģʽ��ƽ̨Ĭ��ģʽ������Ϊ������ģʽ�������������ű��������⣬������ʱʹ�� 't' ��ǣ�ֱ�����еĽű�����������˵�ĸ�Ϊ������ֲ���Ժ�
4.3.2 ������ѡ�� 'x' �� 'x+'
5.2.6 ������ѡ�� 'c' �� 'c+'

����

Example #1 fopen() ����

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

ע��

Warning

ʹ�� SSL ʱ��Microsoft IIS ��Υ��Э�鲻����close_notify��Ǿ͹ر����ӡ�PHP ���ڵ�������β��ʱ����"SSL: Fatal Protocol Error"�� Ҫ��������⣬error_reporting Ӧ�趨Ϊ���ͼ��������������档 PHP 4.3.7 �����߰汾������ʹ�� https:// ��װ������ʱ����������� IIS ��������� �����ƾ��档��ʹ�� fsockopen() ���� ssl:// �׽���ʱ, ���������Ⲣ���ƴ˾��档

Note: ������ ��ȫģʽʱ�� PHP ����ִ�нű�ʱ��鱻�ű�������Ŀ¼�Ƿ��뱻ִ�еĽű�����ͬ�� UID�������ߣ���

Note:

������÷�����ģ��汾�� PHP ʱ�ڴ򿪺�д���ļ����������⣬��סҪȷ����ʹ�õ��ļ���Ŀ¼�Ƿ������������ܹ����ʵġ�

Note:

This function may also succeed when filename is a directory. If you are unsure whether filename is a file or a directory, you may need to use the is_dir() function before calling fopen().

�μ�