הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 12-05-06, 10:54   # 1
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

מחלקה למחיקת קבצים ותקיות ושינוי הרשאות דרך FTP

ב"ה


מכיוון שבהרבה שרתים הפוקנציה unlink עושה בעיות ועם הפוקנציה chmod אי אפשר לתת הרשאת 777 והפונקציות FTP של PHP לא כלולות במנוע אז כתבתי את המחלקה הזו:
PHP קוד:
<?php
class ftp {
function 
connect($server,$username,$password,$port=21,$timeout=15)
    {
    if(
$this->connection=fsockopen($server,$port,$errno,$errstr,$timeout))
        {
        
fgets($this->connection);
        
fwrite($this->connection,"USER ".$username."\r\n");
        
fgets($this->connection);
        
fwrite($this->connection,"PASS ".$password."\r\n");
        if(
substr(fgets($this->connection),0,3)=='230')
            {
            return 
true;
            }
        else
            {
            
$this->error="Login incorrect";
            return 
false;
            }
        }
    else
        {
        
$this->error=$errstr;
        return 
false;
        }
    }
function 
deletef($filepath)
    {
     
fwrite($this->connection,"DELE ".$filepath."\r\n");
     
$response=fgets($this->connection);
     if(
substr($response,0,3)=='230')
         return 
true;
     else
         {
        
$this->error=$response;
        return 
false;
        }
    }
function 
removedir($dirpath)
    {
    
fwrite($this->connection,"RMD ".$dirpath."\r\n");
    
$response=fgets($this->connection);
    if(
substr($response,0,3)=='250')
        return 
true;
    else
        {
        
$this->error=$response;
        return 
false;
        }
    }
function 
chmod($path,$prem)
    {
    
fwrite($this->connection,"SITE CHMOD ".$prem." ".$path."\r\n");
    
$response=fgets($this->connection);
    if(
substr($response,0,3)=='200')
        return 
true;
    else
        {
        
$this->error=$response;
        return 
false;
        }
    }
function 
disconnect()
    {
    return 
fclose($this->connection);
    }
}
?>
תיעוד:
הפונקציה connect מקבלת את כתובת השרת,שם המשתמש והסיסמא ומחזירה true אם חיבור נוצר וfalse אם לא והמשתנה
קוד:
$ftp->error;
מכיל את השגיאה.
דוגמא לחיבור:
PHP קוד:
$ftp=new ftp();
$ftp->connect("hosts.co.il","admin","XXXX"); 
הפונקציה deletef מוחקת קובץ. היא מקבלת את הנתיב של הקובץ בFTP.
דוגמא:

הנתיב לקובץ dir.php יהיה
קוד:
/public_html/dir.php
ומוחקים אותו ככה:
PHP קוד:
ftp->deletef("/public_html/dir.php"); 
אם הקובץ נמחק הפוקנציה תחזיר true, אם לא היא תחזיר false והמשתנה$ftp->error יכיל את השגיאה.

הפונקציה removedir מוחקת תקייה והיא מקבלת את נתיב התקייה (כמו בדוגמא של המחיקת קובץ) ומחזירה true אם התקייה נמחקת וfalse אם יש שגיאה והמשתנה $ftp->error יכיל את השגיאה.
דוגמא:
PHP קוד:
$ftp->removedir("/public_html/"); 
הפונציה chmod משנה את ההרשאה לקובץ/תקייה. היא מקבלת את נתיב הקובץ/תקייה ואת מספר ההרשאה שרוצים לתת לקובץ/תקייה.
דוגמא:
PHP קוד:
$ftp->chmod("/public_html/dir.php","777"); 
ולסיום הפונקציה disconnect היא סוגרת את החיבור עם השרת FTP (לא חובה להשתמש בה)
דוגמא לשימוש:
PHP קוד:
$ftp->disconnect(); 
- - - - - - - - - - - - - - - - - - - - - - - - -
אני מקווה בעתיד להוסיף עוד פונקציות שימושיות. אם יש לכן רעיונות לשיפור והוספות אז בבקשה תכתבו.
  Reply With Quote
 

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 08:56.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ