מדריך: חילוץ קבצים דחוסים (ZIP ו־TAR.GZ) שהעליתם לשרת דרך FTP – בלי SSH ובלי cPanel

תוכן עניינים

המדריך הזה יעזור לכם מאוד אם העליתם קובץ דחוס לשרת שלכם באמצעות FTP – בין אם זה גיבוי, תבנית או תוסף – וגיליתם שדרך תוכנות כמו filezilla זה לא ממש בקליק לחלץ אותו, במדריך תלמדו איך לחלץ קבצי ZIP או TAR.GZ בעזרת קובץ PHP פשוט אחד.

בקיצור המצב הוא:

  • העליתם קובץ דחוס לשרת דרך FTP.

  • אין לכם גישה / הבנה ב־SSH או ל־cPanel.

  • אתם רוצים לחלץ את הקבצים דרך הדפדפן בקלות.

יצירת קובץ חילוץ

צרו קובץ בשם extract.php באותה תיקייה אליה העלתם את הקבצים, והדביקו בו את הקוד הבא:

				
					<?php
// הזינו כאן את שם הקובץ שלכם
$filename = __DIR__ . '/yourfile.zip'; // לדוגמה: 'backup.zip' או 'backup.tar.gz'

if (!file_exists($filename)) {
    die('❌ הקובץ לא נמצא בתיקייה הנוכחית.');
}

$extension = pathinfo($filename, PATHINFO_EXTENSION);

// ZIP
if ($extension === 'zip') {
    $zip = new ZipArchive;
    if ($zip->open($filename) === TRUE) {
        $zip->extractTo(__DIR__);
        $zip->close();
        echo '✅ הקובץ ZIP נפתח בהצלחה!';
    } else {
        echo '❌ שגיאה בפתיחת קובץ ZIP.';
    }
}

// TAR.GZ
elseif ($extension === 'gz') {
    $tarFile = str_replace('.gz', '', $filename);

    // חילוץ gzip ל-tar
    $gz = gzopen($filename, 'rb');
    $out = fopen($tarFile, 'wb');
    if (!$gz || !$out) {
        die('❌ שגיאה בפתיחת קבצים.');
    }
    while (!gzeof($gz)) {
        fwrite($out, gzread($gz, 4096));
    }
    fclose($out);
    gzclose($gz);

    // חילוץ קובץ ה-tar
    try {
        $phar = new PharData($tarFile);
        $phar->extractTo(__DIR__, null, true);
        echo '✅ הקובץ TAR.GZ נפתח בהצלחה!';
    } catch (Exception $e) {
        echo '❌ שגיאה בעת החילוץ: ' . $e->getMessage();
    }
}

else {
    echo '❌ סיומת קובץ לא נתמכת. השתמשו בקבצי ZIP או TAR.GZ בלבד.';
}
?>

				
			

שימו לב בשורה 3 להכניס את שם הקובץ (התיקיה) המדוייק כולל הסיומת

חילוץ הקבצים

גשו לקובץ דרך הדפדפן, לדוגמה:

				
					https://yourdomain.com/wp-content/extract.php

				
			

תקבלו הודעה שמאשרת שהקובץ חולץ בהצלחה

אם חילוץ הקבצים לא עובד

  1. אם הקובץ לא נפתח – ודאו ששם הקובץ שהזנתם בקוד (שורה 3) תואם לשם הקובץ שהעליתם (כולל הסיומת).
  2. הרחבת Phar צריכה להיות פעילה ב־PHP. ברוב השרתים זה מופעל כברירת מחדל.
  3. ודאו שאין אנטי וירוס / חומת אש שחוסמת גישה ישירה לכתובות שהם התיקיות.

אבטחה

מחקו את הקובץ extract.php, לצורך אבטחת האתר, חשוב מאוד למחוק את הקובץ לאחר השימוש

לסיום

הסקריפט לא מוחק את הקובץ המקורי – תוכלו למחוק אותו ידנית אם אין בו צורך.

אם אתם מנהלי אתרים או פרילנסרים שעובדים על אתרי וורדפרס, הסקריפט הזה יכול לחסוך לכם המון זמן והתעסקות. במקום לבקש כל פעם גישה ל־SSH או להתחיל לשלוח מיילים לתמיכה – פשוט מחלצים בעצמכם.

יש לכם שאלות? צריכים עזרה ? כתבו בתגובות!
בהצלחה! 💪

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *