לדלג לתוכן

1.6 פעולות עם קבצים php הרצאה

בהרצאה הבאה נראה פעולות שונות שניתן לעשות עם קבצים בPHP.

1. קריאת קבצים

קריאת קובץ כולו (file_get_contents)

הדרך הפשוטה ביותר לקרוא קובץ:

$content = file_get_contents('example.txt');
echo $content;

קריאת קובץ שורה אחר שורה (fopen + fgets)

כאשר עובדים עם קבצים גדולים:

$file = fopen('example.txt', 'r');
if ($file) {
    while (($line = fgets($file)) !== false) {
        echo $line . "<br>";
    }
    fclose($file);
} else {
    echo "לא ניתן לפתוח את הקובץ";
}

קריאת קובץ למערך (file)

מחזיר כל שורה כפריט במערך:

$lines = file('example.txt');
foreach ($lines as $line) {
    echo $line . "<br>";
}

2. כתיבה לקבצים

כתיבה לקובץ (file_put_contents)

כתיבה פשוטה או החלפת תוכן קיים:

file_put_contents('example.txt', 'תוכן חדש לקובץ');

הוספת תוכן לסוף קובץ (FILE_APPEND)

file_put_contents('example.txt', "\nשורה חדשה", FILE_APPEND);

כתיבה עם fopen + fwrite

שיטה גמישה יותר לכתיבה:

$file = fopen('example.txt', 'w'); // 'w' - כתיבה (מחליף תוכן), 'a' - הוספה לסוף
if ($file) {
    fwrite($file, "שורה ראשונה\n");
    fwrite($file, "שורה שנייה\n");
    fclose($file);
} else {
    echo "לא ניתן לפתוח את הקובץ לכתיבה";
}

3. בדיקות קבצים

בדיקת קיום קובץ

if (file_exists('example.txt')) {
    echo "הקובץ קיים";
} else {
    echo "הקובץ לא קיים";
}

בדיקת סוג הקובץ

if (is_file('example.txt')) {
    echo "זה קובץ רגיל";
}

if (is_dir('folder')) {
    echo "זו תיקייה";
}

קבלת מידע על הקובץ

$file_info = [
    'גודל' => filesize('example.txt') . ' bytes',
    'נערך לאחרונה' => date("d/m/Y H:i", filemtime('example.txt')),
    'סוג' => filetype('example.txt')
];

print_r($file_info);

4. שימוש ב-include ו-require

אנחנו יכולים לחלק את הקוד שלנו למספר קבצי php ואז לעשות להם import, באמצעות פעולת Include או פעולת require.

הכללת קבצי PHP

include 'header.php'; // ממשיך לפעול גם אם הקובץ לא קיים
require 'config.php'; // עוצר את הסקריפט אם הקובץ לא קיים

include_once 'functions.php'; // ייכלל רק פעם אחת
require_once 'db_connection.php'; // ייכלל רק פעם אחת

הבדלים עיקריים

פונקציה תגובה אם קובץ לא קיים טעינה מרובה
include אזהרה (warning) מאפשר טעינה מרובה
require שגיאה (error) מאפשר טעינה מרובה
include_once אזהרה (warning) מונע טעינה מרובה
require_once שגיאה (error) מונע טעינה מרובה
פונקציות אלו יודעות לטעון קוד php אחר שכתבנו ישירות לקובץ שלנו!
## 5. ניהול תיקיות

יצירת תיקייה

if (!file_exists('new_folder')) {
    mkdir('new_folder');
    echo "התיקייה נוצרה";
}

סריקת תיקייה

$files = scandir('folder_name');
foreach ($files as $file) {
    if ($file != "." && $file != "..") {
        echo $file . "<br>";
    }
}

מחיקת תיקייה

if (file_exists('folder_to_delete')) {
    rmdir('folder_to_delete');
    echo "התיקייה נמחקה";
}