תמיכה בשיטת PUT

PHP מספקת תמיכה בשיטת HTTP PUT שבה משתמשים netscape composer ו-W3C Amaya . בקשת PUT פשוטות יותר מהעלאת קבצים , והן נראות בערך ככה :






בדרך כלל זה יציין שהלקוח רוצה לשמור את התוכן שבא אחרי , כמו : / path / filename.html בעץ הרשת שלך . מובן מאליו שזה לא רעיון טוב עבור Apache או PHP לאשר לכולם באופן אוטומטי לכתוב על קבצים קיימים בעץ הרשת שלך . כדי לטפל בבקשות כאלה , צריך להגיד לשרת שברצונך להפנות בקשות כאלה לסקריפט PHP . על Apache הדבר נעשה על ידי ספריית Script . אפשר לשים את זה כמעט בכל מקום בקובץ הקונפיגורציה של Apache . מקום נפוץ הוא בתוך הבלוק Directory או אולי בתוך הבלוק Virtualhost . שורה כזו תעשה את הטריק :






זה אומר ל-Apache לשלוח את כל בקשות PUT ל-URI שתואם את המיקום בו שמתם את השורה שמציינת את מיקום הסקריפט put.php . זה בהנחה , כמובן , ש-PHP מאפשרת סיומות .php וש-PHP פעילה .

בתוך הקובץ put.php צריך לכתוב משהו כזה :






זה יעתיק את הקובץ למיקום המבוקש על ידי הלקוח . בטח יתעורר בך הרצון לבצע כמה בדיקות ו / או לאמת את המשתמש לפני ביצוע העתקת הקובץ . הטריק היחיד כאן הוא שכש-PHP רואה בבקשה בשיטת PUT , היא מאחסנת את הקובץ שהועלה בקובץ זמני ממש כמו אלה שטופלו מלבד שיטת POST . כשהבקשה מסתיימת , הקובץ הזמני הזה נמחק . לכן , סקריפט ה-PHP שמטפל ב-PUT צריך להעתיק את הקובץ למיקום כלשהו . שם הקובץ של הקובץ הזמני נמצא בתוך המשתנה $PHP_PUT_FILENAME , וניתן לראות את שם הקובץ המוצע בתוך $REQUEST_URI ( יכול להשתנות על שרתים שאינם Apache ) . שם הקובץ המוצע הוא שם שמגדיר הלקוח . הלקוח שולח בקשה ולא פקודה . לכן אפשר , לדוגמה , להעתיק את כל הקבצים שהועלו לספריית העלאות מיוחדת .