שימוש בקבצים מרוחקים
אם אפשרות ה"URL fopen wrapper" פעילה (היא פעילה כברירת מחדל אלא אם ציינת מפורשות את דגל ה --disable-url-fopen-wrapper לסקריפט ה- configure (עד גרסה 4.0.3) או שקבעת את פרמטר ה-allow_url_fopen ל-off בקובץ php.ini (בגרסאות חדשות יותר)), ניתן להשתמש בקישורי HTTP ו-FTP כפרמטר לרוב הפונקציות שמקבלות שם קובץ כפרמטר, כולל הפקודות require() ו- include().
Note: לא ניתן להשתמש בקבצים מרוחקים בפקודות require() ו- include() תחת מערכת וינדוס.
לדוגמה, ניתן להשתמש בתכונה זו על-מנת לקרוא קובץ משרת web מרוחק, לעבד את תוכנו, לחפש את המידע המבוקש ולבסוף, להשתמש במידע זה לאכסון בבסיס הנתונים או פשוט להציגו בצורה שתתאים לשאר עיצוב האתר.
Example#1 יבוא הכותרת של עמוד מרוחק
<?php
$file = fopen ("https://www.php.net/", "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
/* This only works if the title and its tags are on one line */
if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
break;
}
}
fclose($file);
?>
ניתן גם לכתוב לקבצים ב-FTP כל עוד החיבור נעשה תוך שימוש בשם וסיסמת משתמש בעלי הרשאות מתאימות ובתנאי שהקובץ לא קיים. כדי להתחבר ל FTP בתור משתמש שונה מ-'anonymous', יש לפרט את שם המשתמש (ויתכן שידרש גם פירוט הסיסמה) בקישור, כמו למשל 'ftp://user:password@ftp.example.com/path/to/file'. (ניתן להשתמש באותו תחביר כאשר ברצוננו להתחבר לקבצים דרך HTTP כאשר נדרשת אוטנטיקציה בסיסית Basic authentication ).
Example#2 כתיבת מידע לשרת מרוחק
<?php
$file = fopen ("ftp://ftp.php.net/incoming/outputfile", "w");
if (!$file) {
echo "<p>Unable to open remote file for writing.\n";
exit;
}
/* Write the data here. */
fputs ($file, "$HTTP_USER_AGENT\n");
fclose ($file);
?>
Note: יתכן שהדוגמה הזו נראית כמו יצירת קובץ log בשרת מרוחק אך כמו שצויין קודם לכן, הכתיבה יכולה להתבצע רק אם הקובץ שאליו כותבים לא קיים. כדי לבצע פעולה דומה, עיינו ב-syslog().