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

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

O-B 22-07-06 16:14

[php] איך אני יכול לדעת את סיומת הקובץ?
 
איך אני יכול למצוא את סיומת הקובץ
אם זה gif או jpg?

חשבתי על

PHP קוד:

$text ='http://www.google.co.il/images/logo_sm.gif'
if(preg_match('/[.jpg]/',$text)) { 
    echo 
"הקובץ הוא תמונה מסוג jpg";
}else{
    if(
preg_match('/[.gif]/',$text)) { 
        echo 
"הקובץ הוא תמונה מסוג gif";
    }


אבל כש text מוגדר ככה זה לא טוב..
PHP קוד:

$text ='http://www.jpg.co.il/store/Bugatti.gif' 

כי בעצם התמונה היא תמונת gif והוא יכתוב שהיא jpg

RS324 22-07-06 17:22

בבקשה :

PHP קוד:


$text 
='http://www.google.co.il/images/logo_sm.gif/';

if (
substr($text,strlen($text)-1) == '/')
{
    
$text substr($text,0,(strlen($text)-1));
}

$type substr($text,(strlen($text)-4));
echo 
"type is $type<br>"

אם שמתי לב טיפלתי באפשרות שהתו האחרון הוא / , לפעמים עושים את זה...

HighA 22-07-06 22:31

נחמד RS
אבל יש פונקציה שקוראים לה FileType חחחחח
|ממזר קטן| |קוול! קטן|

Alon.R 23-07-06 00:18

SsH S Scripts

אישית היא לא עבדה לי...

-VladK- 23-07-06 07:44

ציטוט:

נכתב במקור על ידי SsH S Scripts
נחמד RS
אבל יש פונקציה שקוראים לה FileType חחחחח
|ממזר קטן| |קוול! קטן|

FILETYPE זה לא במקרה פונקציה שמשתמשים בא כשעובדים עם קבצים? (העלאה וזה...)

Eli-Hai 23-07-06 22:54

אני מניח שאתה מנסה ליצור מערכת העלאת קבצים, אתה פשוט יכול להשתמש בsubstr(), בשביל לבדוק X תווים מהסוף, לדוגמא 3 תווים מהסוף - gif.
למרות שfiletype() נראה לי יותר יעיל.

HighA 23-07-06 22:59

filetype עובד לי מעולה וכן השתמשתי בזה להעלאת קבצים אבל לא רק

Unknown 23-07-06 23:43

קוד:

$exploded = explode(".", $fileURL);
$extension = stripslashes($exploded[count($exploded)-1]);

ובעצם אפשר להוריד מכאן את כל הסלאשים וכל מה שמפריע
זה יקבל את הסיומת בכל מקרה

RS324 25-07-06 00:35

ציטוט:

נכתב במקור על ידי Unknown
קוד:

$exploded = explode(".", $fileURL);
$extension = stripslashes($exploded[count($exploded)-1]);

ובעצם אפשר להוריד מכאן את כל הסלאשים וכל מה שמפריע
זה יקבל את הסיומת בכל מקרה


הקוד שהבאתי לו הרבה יותר פשוט... אם הוא כבר לא בוחר להשתמש ב FILETYPE

Unknown 25-07-06 04:30

ציטוט:

נכתב במקור על ידי RS324
הקוד שהבאתי לו הרבה יותר פשוט... אם הוא כבר לא בוחר להשתמש ב FILETYPE

אבל אתה מודע לעובדה שלא תמיד הסיומות הן של 3 תווים...
והוא גם יכול לא לעבוד בעקבות תווים אחרים שיופיעו בסוף כגון ? ואחריו משתנה כלשהו (לפעמים זה קורה)
בגלל זה מומלץ יותר מה שהבאתי לו כי זה תמיד יקח את הסוף
ואז אפשר לעשות מקסימום ביטוי REGEX ולפרק את זה

maor 25-07-06 09:02

הכי טוב לקחת את הביטוי מהסוף עד לנקודה הראשנה.. ככה זה הכי הכי טוב


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

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