PHP kézikönyv Előző Következő Amennyiben az allow_url_fopen be van kapcsolva a php.ini-ben, HTTP és FTP URL-eket lehet paraméterként átadni majdnem minden olyan függvénynek, amelyek fájlnevet kér paraméterül, beleértve az include(), include_once(), require() és require_once() utasításokat is. Megjegyzés: PHP 4.0.3 és régebbi verziókban az URL, you were required to configure PHP using the configure option --enable-url-fopen-wrapper. Megjegyzés: A jelenlegi Windows-os verzió PHP nem támogatja a távoli állományelérést a következő függvények esetén: include(), include_once(), require() és require_once(). Ezt a lehetőséget lehet használni például egy távoli webszerveren lévő fájlt megnyitására, majd a kívánt adatok kigyűjtésére, vagy arra, hogy csak egyszerűen a saját oldalad kinézetével, stílusával tálald. Példa 19-1. Egy távoli weboldal címsorának megállapítása ?php $file = fopen ("http: / /www.example.com / ", "r"); if (!$file) {echo" p Nem lehet megnyitni a külső file-t!\n"; exit;} while (!feof ($file)) {$line = fgets ($file, 1024); / * Ez csak akkor jó, ha a cím és a körbezáró tag-ek egy sorban vannak * / if (eregi ("title (.*) / title", $line, $out)) {$title = $out[1]; break;}} fclose($file);? Lehetőség van egy FTP szerveren tárolt fájlba írásra is, feltéve, hogy megfelelő jogokkal rendelkező user-ként lépsz be. Ezzel a módszerrel csak új fájlok hozhatók létre, ha már létezik a megadott nevű állomány akkor a fopen() Ezzel a módszerrel csak új fájlok hozhatók létre, ha már létezik a megadott nevű állomány akkor a fopen() hívása sikertelen lesz. Ha nem 'anonymous' felhasználóként szeretnél belépni, a felhasználói nevet és jelszót az URL részeként kell megadni a alábbi formában: 'ftp: / /felhasznalo:jelszo@ftp.pelda.hu / eleresi / ut / alma.txt'. (Ugyanezt a módszert használható akkor is, ha olyan állományokat kell elérni HTTP-n keresztül, amelyek a Basic azonosítást igénylik.) Példa 19-2. Adat tárolása távoli gépen ?php $file = fopen ("ftp: / /ftp.example.com / incoming / outputfile", "w"); if (!$file) {echo "p Nem lehet megnyitni a külső file-t írásra.\n"; exit;} / * Itt írunk a file-ba * / fputs ($file, "$_SERVER['HTTP_USER_AGENT']\n"); fclose ($file);? Megjegyzés: A fenti példa alapján talán azt hihetnénk, hogy ilyen technikát kell használni például távoli naplózáshoz. Sajnálatos módon azonban ez nem működik, mert a fopen() hívása sikertelen lesz, ha a távoli állomány már létezik. Az ehhez hasonló elosztott, távoli naplózáshoz a syslog() függvény szolgáltatásait kell igénybe venni. Előző Tartalom Következő PUT metódusú feltöltések Fel Kapcsolatkezelés