View Single Post
ישן 04-02-06, 08:29   # 1
WebProject
מ.תיכנות
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד
הודעות: 3,070
Send a message via Skype™ to WebProject

WebProject לא מחובר  

[מדריך] PHP - פונקציות לקריאת וכתיבת קובץ

Files - Reading & Writing

כתיבה על קבצים, למה אנו צריכים אותה?

כמו שלרובכם ידוע, ישנם כמה וכמה צורות איחסון נתונים בתיכנות צד שרת, ואחת מביניהם היא הצבת תוכן בתוך קובץ (שימו לב, באתרי בניית אתר אישי, במיוחד בפלאנט נענע, אתה בעצם יוצרים את הקובץ, והוא נשמר על גבי השרת).

לכתיבה וקריאת קבצים, יש מספר פונקציות, כשכולם שימושיות.

אני אתחיל הישר מן הפונקציה המוכרת ביותר למתכנתים:

Fopen();

מהיא הפונקציה?

בעזרת פונקציה זאת, ניתן לפתוח [בלבד!] את הקובץ, אבל עדיין לא ניתן להדפיסו או להכניס אליו תוכן, לפונקציה זאת נכניס שני ערכים, כתובת הקובץ, וסוג הקריאה.

PHP קוד:
<?Php
       $yourile 
"sources/myfile.txt";
  
$handle fopen($yourfile,'X');
?>
הסבר:

בעצם פה הבאנו את הקובץ myfile.txt הנמצא בתיקיה sources.

X -
צורת הפתיחה, כמובן שזאת אינה צורת הפתיחה, וישנן הרבה צורות, אני אתן מספר קטן.


r - קריאה בלבד, ללא אפשרות להכנסת תוכן
r+ - קריאה, עם אפשרות להכנסת תוכן

w - קריאה בלבד, ללא אפשרות להכנסת תוכן
w+ - קריאה, עם אפשרות להכנסת תוכן

כמו ששמתם לב, המצבים דומים מאוד [w,r], אבל ישנו הבדל, W יתן לכם שגיאה במידה ויש 0 תווים בדף, כלומר במידה והוא ריק.
במידה והקובץ גם אינו קיים, הצורה w תנסה ליצור אותו.

אבל... עם כל הידע הזה, ועדיין אי אפשר לקרוא את הקובץ, אלא, יש צורך בפונקציה נוספת.

Fread();

פונקציה זאת בעצם מביאה את הקובץ, קוראת אותו, ומאחסנת בתוכה את תוכנו, כל מה שנצטרך לאחר מכן, הוא להשתמש באחת מן פונקציות פליטת הפלט [print,echo,print_f .....], והקובץ פשוט יודפס לנו מול הפנים.


על מנת להפעיל את הפונקציה, עלינו להשתמש בשני פרמטרים, האחד הוא המשתנה שבו נמצאת פתיחת הקובץ (fopen) והשני, הוא גודל הקובץ, על מנת לדעת אם הקובץ ריק או מלא, כדי לתת שגיאה או להמשיך את קריאת הקובץ.

PHP קוד:
<?Php
 $filename 
"somefile.txt";
  
$handle fopen($filename,'r'); // Getting the file \\\for read only///
    
$fread fread($handle,filesize($filename)); // getting the content
         
echo $fread//printing the file
?>
הסבר:

כאן פתחתי את הקובץ somefile.txt, לקריאה בלבד.
לאחר מכן, לקחתי את תוכן הקובץ עם הפונקציה fread, בדקתי את משקלו, ולאחר מכן, הדפסנו אותו.

לא כזה קשה, נכון?

עכשיו, לאחר שלמדנו איך לפתוח קובץ ולהדפיסו, הגיע הזמן ללמוד איך להכניס תוכן לקובץ!.


Fwrite();

פונקציה זאת מכניסה כל תוכן שנרצה, אל הקובץ, על מנת להכניס אליה נתונים, נהיה חייבים להשתמש באחת הצורות שאינן מוגבלות לקריאה בלבד (w+,r+) ולא, נקבל שגיאה.

על מנת להכניס תוכן, נצטרך שני פרמטרים, פתיחת הקובץ (fopen) והתוכן שברצוננו להכניס אל הקובץ.

הפונקציה הזאת עוד יותר פשוטה מהקודמות לה.

PHP קוד:
<?Php
  $filename 
"somefile.txt"// the file
  
$handle fopen($filename,'r+'); // opening for reading and writing
  
$content "Inserting contents to a file is realy cool.."// the new file content
        
$insert fwrite($handle,$content); // Inserting the content
?>


זה הכל להיום ..

מקווה מאוד שעזר לכם


נכתב ע"י טל
__________________
כושר קרבי \ טיפים לגיבושים



פורטל רעל - צבא וכושר קרבי
  Reply With Quote