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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=33381)

Art Watch 21-10-06 15:50

זיהוי סוג הקובץ - PHP
 
איך אני מזהה מה הסוג של הקובץ? נגיד aa.txt אז סוג הקובתץ הוא txt?

בPHP

תודה רבה!

RS324 21-10-06 16:08

ציטוט:

נכתב במקור על ידי Gil & Ido
איך אני מזהה מה הסוג של הקובץ? נגיד aa.txt אז סוג הקובתץ הוא txt?

בPHP

תודה רבה!


בעזרת הפונקציה filetype
או שפשוט אתה בודק מה הסיומת שאחרי הנקודה.

Art Watch 22-10-06 20:45

אמרת לי באמצעות FILETYPE אז בסדר, אבל או שפשוט אתה בודק... אני שאלתי איך חחח XD.

בכל אופן תודה רבה רבה! :).

HighA 22-10-06 21:39

עושה explode/explore חכתי איך כותבים (תחפש בפורום מדריכים) ולוקח את החלק השני (אחרי הנקודה)

Tomer 22-10-06 23:02

ציטוט:

נכתב במקור על ידי SsH S Scripts
עושה explode/explore חכתי איך כותבים (תחפש בפורום מדריכים) ולוקח את החלק השני (אחרי הנקודה)

ואם השם קובץ הוא yossi.noam.yoram.txt ?

אתה יכול להשתמש ב:
PHP קוד:

 $file "yossi.noam.yoram.txt"// שם הקובץ
$type explode(".",$file); // חלוקת הקובץ לפי מספר הנקודות
$count count($type);
echo 
$type[$count 1]; // return 'txt' 


RS324 22-10-06 23:16

ATOM קצת הסתבכת...למה לספור ואז להוציא את האחרון - 1 ?

הנה שיטה הרבה יותר טובה

PHP קוד:

$filetype array_pop(explode('.',$filename)); 

array_pop מחזירה לך את האיבר האחרון מהמערך....

meshuga 22-10-06 23:21

ציטוט:

נכתב במקור על ידי RS324
ATOM קצת הסתבכת...למה לספור ואז להוציא את האחרון - 1 ?

הנה שיטה הרבה יותר טובה

PHP קוד:

$filetype array_pop(explode('.',$filename)); 

array_pop מחזירה לך את האיבר האחרון מהמערך....

נחמד, אני משתמש ב
PHP קוד:

$ext=substr(strrchr($name"."), 1); 


RS324 22-10-06 23:25

ציטוט:

נכתב במקור על ידי meshuga
נחמד, אני משתמש ב
PHP קוד:

$ext=substr(strrchr($name"."), 1); 



והיא בטוח עובדת לך ? אחרי שבדקתי ככה ב REF (לא ניסיתי)

strrchr = strstr
עכשיו
STRSTR מחזירה לך את כל מה שנשאר אחרי הנקודה
לודגמא :
this.is.my.file.name.and.i.like.it.txt
עם STRSTR אתה תקבל :
is.my.file.name.and.i.like.it.txt
עכשיו עבור SUBSTR עם התחלה של 1 אתה אמור לקבל
s.my.file.name.and.i.like.it.txt

אבל אני לא בטוח , זה רק מהסתכלות ב REF אני יעשה בדיקה ויערוך

עריכה, עשיתי בדיקה ועבור STRCHR אתה מקבל .txt
כנראה שזה הולך מהסוף להתחלה...לא חשבתי על זה ככה...יפה.

meshuga 22-10-06 23:44

ציטוט:

נכתב במקור על ידי RS324
והיא בטוח עובדת לך ? אחרי שבדקתי ככה ב REF (לא ניסיתי)

strrchr = strstr
עכשיו
STRSTR מחזירה לך את כל מה שנשאר אחרי הנקודה
לודגמא :
this.is.my.file.name.and.i.like.it.txt
עם STRSTR אתה תקבל :
is.my.file.name.and.i.like.it.txt
עכשיו עבור SUBSTR עם התחלה של 1 אתה אמור לקבל
s.my.file.name.and.i.like.it.txt

אבל אני לא בטוח , זה רק מהסתכלות ב REF אני יעשה בדיקה ויערוך

עריכה, עשיתי בדיקה ועבור STRCHR אתה מקבל .txt
כנראה שזה הולך מהסוף להתחלה...לא חשבתי על זה ככה...יפה.

;) :P
זה לא עושה מהסוף להתחלה, זה עושה מהפעם האחרונה בסטרינג שנמצא התו המבוקש.
ההבדל בינו ל strstr שstrstr פועל מהראשון.
הsubstr זה רק בשביל להוריד את הנקודה.

RS324 22-10-06 23:57

ציטוט:

נכתב במקור על ידי meshuga
;) :P
זה לא עושה מהסוף להתחלה, זה עושה מהפעם האחרונה בסטרינג שנמצא התו המבוקש.
ההבדל בינו ל strstr שstrstr פועל מהראשון.
הsubstr זה רק בשביל להוריד את הנקודה.

הבילבול נוצר בגלל הדמיון תסתכל :

strchr -- Alias of strstr()

אבל כשיש פעמיים R
strrchr -- Find the last occurrence of a character in a string

מוצא את המופע האחרון של תו מסויים..

בגלל זה התבלבלתי בניהם

אני יעשה מבחן קטן ואני יגיד לך מה יותר יעיל.... הדרך שלי או הדרך שלך


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

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