הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] מחיקת קובץ והחזרתו (https://hosts.co.il/forums/showthread.php?t=54150)

GalN 25-09-07 09:51

[PHP] מחיקת קובץ והחזרתו
 
טוב תקשיבו אנשים אני בונה מערכת ד"שים וכל הד"שים נמצאים בקובץ msgs.txt..
עכשיו בלוח בקרה יש אפשרות למחוק את כל ההודעות...
אז כדי שיהיה פשוט יותר החלטתי שאני עושה ככה..
השרת ימחק את הקובץ msgs.txt ואז יצור אחד חדש באותו שם בדיוק עם הרשאות של 777..

אני לא מצליח לעשות את זה..
למישהו יש רעיון \ פקודה איך לעשות את זה?
אם כן אני אשמח אם תשתפו איתי :)


תודה מראש,
גל! |קורץ|

RS324 25-09-07 09:56

למחיקה תשתמש ב UNLINK
לכתיבה תשתמש ב FOPEN
לסידור הרשאות תשתמש ב CHMOD

GalN 25-09-07 10:34


PHP קוד:

if ($_POST["action"] == "dell_all") { 
    
    
$filename "../msgs.txt";
    
    
unlink($filename);
    
$handle fopen($filename"x+");
    
    
header('location:'.$_SERVER['HTTP_REFERER']); 


מה לא בסדר בזה?..
זה עדיין לא עובד..
עשיתי גם בJS שילחצו ואז ימחק:

קוד:

        function DeleteAll()
        {
                if (confirm("אתה בטוח שאתה רוצה למחוק את כל ההודעות?")){
                document.adminview.action.value='dell_all';
                document.adminview.submit();
                }
        }


בניה 25-09-07 10:37

יש בעיה שבדרך כלל שרתים לא יתנו לך לשנות את ההרשאה של הקובץ ל 777.
עדיף לך שהוא ישאר קיים וכדי למחוק את כל מה שיש בו תעשה fopen עם W+(או כל דבר שמרוקן אותו)

GalN 25-09-07 12:49

אז לעשות את זה ככה?

PHP קוד:

if ($_POST["action"] == "dell_all") {  
     
    
$filename "../msgs.txt"
     
    
unlink($filename); 
    
$handle fopen($filename"w+"); 
     
    
header('location:'.$_SERVER['HTTP_REFERER']); 


Derey22 25-09-07 13:02

תעשה כמו שבניה אמר רק לרוקן אותו,
זה יעיל יותר,מהיר יותר,ופותר בעיות של גישת 777

חיים 25-09-07 15:02

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 559274)
תעשה כמו שבניה אמר רק לרוקן אותו,
זה יעיל יותר,מהיר יותר,ופותר בעיות של גישת 777

PHP קוד:

if ($_POST["action"] == "dell_all") {  
fopen("../msgs.txt","w+");
header("Location:".$_SERVER['HTTP_REFERAR']);




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

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