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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   php | טיפול בfile_content (https://hosts.co.il/forums/showthread.php?t=60807)

FuZuL 09-03-08 21:49

php | טיפול בfile_content
 
הבעיה:
נתון קובץ טקסט, עם שמות של קבצים [סתם קבצים במחשב וזה..]..
אני צריך לבדוק אם בקובץ יש מחרוזת שחוזרת על עצמה מספר זוגי של פעמים..
אם כן - להחליף אותה ב#

אני מבין שצריך להשתמש בsubstr_count וstr_replace...

*מה שמפריד בקובץ זה שכל שורה יש שם של קובץ חדש, לא הכל בשורה אחת..

Elad-A 09-03-08 21:56

זה קובץ שנמצא על השרת שלך?

FuZuL 09-03-08 22:02

כן..
אתה יודע איך לעשות את זה.. זה שאלה אלגוריתמית כזאת..

Elad-A 09-03-08 22:11

http://il.php.net/file

אני חושב שמשם תסדר...

FuZuL 09-03-08 22:14

:| לא עזרת עד כדי כך אלעד..
אני מבין שצריך להכניס את הנתוונים למערך, ואז לא יודע מה צריך לעשות.. משהו רקורסיבי..
בתנאי % 2 == 0. ואז str_replace("arr[i]," " ,source

Meir 09-03-08 22:23

תביא דוגמא לקובץ אחרי ולפני שאתה מעביר אותו דרך הפונקציה שאתה רוצה לבנות.

FuZuL 09-03-08 22:33

לפני:
קובץ bla.txt :
program1.exe
program2.exe
program3.exe
program1.exe
program2.exe
program2.exe
program3.exe
program3.exe
program3.exe

אחרי:
program1 מופיע מספר זוגי של פעמים [2]
program2 מופיע מספר איזוגי של פעמים [3]
program3 מופיע מספר זוגי של פעמים [4]
הקובץ אמור להיות:
קובץ bla.txt :
#
program2.exe
#
#
program2.exe
program2.exe
#
#
#

Meir 09-03-08 22:57

ככה:

PHP קוד:

<?php
$file_string 
file_get_contents('yourfile');
foreach (
explode("\n"$file_string) as $line) {
    if (
substr_count($file_string$line) % == 0) {
        
$file_string str_replace($line'#'$file_string);
    }
}
echo 
$file_string;
?>


FuZuL 09-03-08 23:05

בלי echo, אני צריך להחליף את הטקסט בטקסט הקיים..
אם אפשר..
תודה עד כה מאיר

Meir 09-03-08 23:39

תחליף את הecho ב:

PHP קוד:

file_put_contents('yourfile'$file_string

במידה והשרת שלך לא תומך בphp 5:

PHP קוד:

$file fopen('yourfile''w+');
fwrite($file$file_string);
fclose($file); 



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

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