אם
אפשרות
ה"
URL
fopen
wrapper
"
פעילה
(היא
פעילה
כברירת
מחדל
אלא
אם
ציינת
מפורשות
את
דגל
ה
--disable-url-fopen-wrapper
לסקריפט
ה
-
configure
(עד
גרסה
4.0.3
)
או
שקבעת
את
פרמטר
ה
-
allow_url_fopen
ל-off
בקובץ
php.ini
(בגרסאות
חדשות
יותר))
,
ניתן
להשתמש
בקישורי
HTTP
ו-FTP
כפרמטר
לרוב
הפונקציות
שמקבלות
שם
קובץ
כפרמטר
,
כולל
הפקודות
require(
)
ו
-
include(
)
.
לדוגמה
,
ניתן
להשתמש
בתכונה
זו
על-מנת
לקרוא
קובץ
משרת
web
מרוחק
,
לעבד
את
תוכנו
,
לחפש
את
המידע
המבוקש
ולבסוף
,
להשתמש
במידע
זה
לאכסון
בבסיס
הנתונים
או
פשוט
להציגו
בצורה
שתתאים
לשאר
עיצוב
האתר
.
דוגמה
20-1
.
יבוא
הכותרת
של
עמוד
מרוחק
?php
$file
=
fopen
(
"http
:
/
/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
)
.
דוגמה
20-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)
;
?
|
|
הערה
:
יתכן
שהדוגמה
הזו
נראית
כמו
יצירת
קובץ
log
בשרת
מרוחק
אך
כמו
שצויין
קודם
לכן
,
הכתיבה
יכולה
להתבצע
רק
אם
הקובץ
שאליו
כותבים
לא
קיים
.
כדי
לבצע
פעולה
דומה
,
עיינו
ב
-
syslog(
)
.