PHP Handleiding
Terug
Volgende
fopen() bindt een genaamde resource, aangegeven met filename, aan een stream.
Als filename van het formaat "schema: / /..." is, dan wordt aangenomen dat het een URL is en PHP zal dan zoeken naar een protocol handler (ook bekend als een wrapper) voor dat schema.
Als er geen wrapper voor dat protocol geregistreerd is, zal PHP een notice weergeven om je te helpen mogelijke problemen in je script te achterhalen en zal dan doorgaan alsof filename verwijst naar een normaal bestand.
Als PHP heeft besloten dat filename verwijst naar een lokaal bestand, dan zal het proberen om een stream te openen naar dat bestand.
Het bestand moet toegankelijk zijn voor PHP, dus je moet er voor zorgen dat de bestands rechten dit toestaan.
Als je safe_mode of open_basedir aan hebt staan, kunnen er andere restricties gelden.
Als PHP heeft besloten dat filename verwijst naar een geregistreerde protcol en dat dat protocol is geregistreerd als een netwerk URL, dan zal PHP controleren of allow_url_fopen Als PHP heeft besloten dat filename verwijst naar een geregistreerde protcol en dat dat protocol is geregistreerd als een netwerk URL, dan zal PHP controleren of allow_url_fopen aan staat.
Als het uit staat, dan zal PHP een waarschuwing weergeven en fopen zal dan falen.
Opmerking:
De lijst met ondersteunde protocols kan gevonden worden op Aanhangsel I.
mode mag een van de volgende zijn:
'r' - Openen voor alleen lezen; plaats de bestands pointer aan het begin van het bestand.
'r+' - Openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand.
'w' - Openen voor alleen schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang.
Als het bestand niet bestaat, probeer het aan te maken.
'w+' - Openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang.
Als het bestand niet bestaat, probeer het aan te maken.
'a' - Openen voor alleen schrijven; plaats de bestands pointer aan het einde van het bestand.
Als het bestand niet bestaat, probeer het aan te maken.
'a+' - Openen voor lezen en schrijven; plaats het bestands pointer aan het einden van de file.
Als het bestand niet bestaat, probeer het aan te maken.
Opmerking:
De mode mag de letter 'b' bevatten.
Dit is alleen handig op systemen die verschil zien tussen binaire en tekst bestand (bijvoorbeeld Windows.
Op Unix is het zinloos).
Als het niet nodig is, wordt het genegeerd.
Je wordt aangemoedigd om de 'b' vlag toe te voegen om je script zo compatible mogelijk te houden.
De optionele derde use_include_path parameter kan op '1' of TRUE gezet worden; voor als je ook wilt zoeken voor het bestand in include_path.
De optionele vierde zcontext parameter is gebruikt voor gespecifiseerde afstemmings parameters en aanroepen.
Als het openen faalt, dan geeft de functie FALSE terug.
Voorbeeld 1. fopen() voorbeeld
Als je problemen hebt met het lezen en schrijven naar bestanden en je maakt gebruik van de server module versie van PHP, controleer dan of de bestanden en folder die je gebruikt wel toegankelijk zijn voor het server proces.
Op Windows platform, vergeet niet backslashen te escapen in folders en bestanden, of gebruik slashen.
?php / / $handle = fopen ("c:\data\info.txt", "r"); / / Is fout! $handle = fopen ("c:\\data\\info.txt", "r"); $handle = fopen ("c: / data / info.txt", "r"); / / Zijn beide goed?
Zie ook Aanhangsel I, fclose(), fgets(), fsockopen(), file(), file_exists(), is_readable(), socket_set_timeout(), en popen().
Terug
Begin
Volgende
Omhoog