לדלג לתוכן

8.2 שרת קבצים הרצאה

טרמינולוגיה

  • שרת: שרת הוא מחשב שמטרתו לשרת, בדרך כלל אמור להיות גישה אליו מהאינטרנט. דוגמאות לשרתים שאנחנו מכירים: אתר או מסד נתונים.
  • הפעלה מקומית: כשאנחנו אומרים "הפעלה מקומית" זה אומר שאנחנו מפעילים את התוכנה במחשב שלנו
  • הפעל מרחוק: כשאנחנו אומרים "הפעל מרחוק" זה אומר שאנחנו מפעילים את התוכנית מרחוק בשרת מרוחק.

מהו שרת קבצים

  • בתכנות כאשר אנו רוצים לאחסן קבצים, סרטונים, תמונות אנו בדרך כלל משתמשים בשרתי קבצים.
  • שרתי קבצים יכולים להיות מקומיים או מרחוקים ומטרתם היא לשמור קבצים.
  • בדיוק כמו מסדי נתונים אנחנו יכולים להוריד קבצים, להעלות קבצים ולתפעל אותם עם שרתי קבצים.
  • ישנם סוגים רבים של שרתי קבצים, בהרצאה זו נראה כיצד להגדיר שרת מסוג FTP ונרים שרת FTP שנקרא FileZilla Server.

הקדמה - FTP

  • קיימים המון סוגים של שרתי קבצים, בניהם קיים FTP - שרת פשוט מאוד לשמירת קבצים.
  • לקוח FTP: תוכנה או אפליקציה המשמשת לחיבור לשרת FTP ולביצוע פעולות על קבצים.
  • שרת FTP: השרת המארח את הקבצים ומנהל את חיבורי ה-FTP.
  • פקודות: FTP פועל באמצעות פקודות (למשל, GET, PUT, LIST, DELETE) שלקוחות שולחים לשרת כדי לבצע פעולות שונות על קבצים.

הגדר שרת FTP

  • אנו נשתמש בFileZila כי זה שרת קבצים בסיסי מאוד להגדרה:
  • https://filezilla-project.org/download.php?type=server

לקוח FTP בפייתון

  • הריצו: pip install ftputil
    import ftputil
    
    # Connect to FTP server
    host = '127.0.0.1'
    username = 'your_username'
    password = 'your_password'
    
    with ftputil.FTPHost(host, username, password) as ftp:
        print("Connected to FTP server successfully.")
    
        # List files in current directory
        files = ftp.listdir('.')
        print("Files in current directory:")
        for file in files:
            print(file)
    
        # Download a file
        filename = 'example.txt'
        ftp.download(filename, filename)
        print(f"Downloaded file '{filename}' successfully.")
    
        # Upload a file
        ftp.upload(filename, filename)
        print(f"Uploaded file '{filename}' successfully.")
    
    print("Disconnected from FTP server.")