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

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

DiXXOver 08-08-08 10:29

3 אותיות אחרונות במשפט [PHP]
 
יש לי מין תיבת טקסט שקובעת כתובת לתמונה, עכשיו ברצוני לבדוק את שלוש האותיות האחרונות..
במשפט כדי לבדוק איזה סוג תמונה זו, אשמח לדעת איך עושים את זה : )

תודה מראש.

Sagi 08-08-08 10:45

PHP קוד:

$suf strtolower(substr($name, -3)); 

הינה הפונקציה

GoDLighT 08-08-08 10:57

אני לא מכיר פונקציה אחת שעושה את זה אבל אתה יכול לעשות את זה בעבודה ערבית עם כמה תנאים
פשוט להשתמש בפונקציה substr_count ולהריץ על כל סוגי הקבצים שאת רוצה...
זה יוצא משהו כזה:

$type = "פה אתה מכניס את שם התמונה או הקובץ המלא.jpg'";
// זאת הפונקצה פה אתה בודק אם ערך מסויים קיים במשתנה
$a = substr_count($type, '.jpg');
// עכשיו יחזור לך מספר הפעמים שזה קיים אז אתה בודק עם זה 0 או 1 ומעלה
if($a >= 1){
echo "סוג התמונה הוא jpg";
}
// כל מה שאתה צריך זה להריץ את זה על כל סוג תמונה

mayden 08-08-08 11:16

ואם הפורמט הוא jpeg ?

Sagi 08-08-08 11:56

ציטוט:

נכתב במקור על ידי mayden (פרסם 657774)
ואם הפורמט הוא jpeg ?

נדיר היום למצוא כאלה..
תשתמש במה שהבאתי לך זה זה מוציא את 3 האותיות האחרונות כמו שביקשת.

ואוראל אם יקרה מצב כזה

של שם תמונה:

ציטוט:

1תמונה טיול.JPG אתמול.BMP
אני סתם נותן דוגמא תחשוב מה יקרה במצב כזה

Striker 08-08-08 12:22

העבודה שלך לא נכונה.
על EXPLODE חשבת?
שיפצל לפי .<- נקודה
ויקח את הערך האחרון , הוא הסיומת.

Sagi 08-08-08 12:59

ציטוט:

נכתב במקור על ידי Striker (פרסם 657798)
העבודה שלך לא נכונה.
על EXPLODE חשבת?
שיפצל לפי .<- נקודה
ויקח את הערך האחרון , הוא הסיומת.

גם השיטה שלך לא טובה מניסיון
אני יציין עוד שם?
ציטוט:

אני מאתמול..יפה.jpg

Elad-A 08-08-08 13:06

זה יעבוד טוב:

PHP קוד:

$ext strtolower(array_pop(explode('.' $file))); 


Rom 08-08-08 14:41

ציטוט:

נכתב במקור על ידי Sagi (פרסם 657813)
גם השיטה שלך לא טובה מניסיון
אני יציין עוד שם?

לוקחים את מה שאחרי הנקודה האחרונה.

Striker 08-08-08 15:31

ציטוט:

נכתב במקור על ידי Sagi (פרסם 657813)
גם השיטה שלך לא טובה מניסיון
אני יציין עוד שם?

כל הקטע זה לקחת את החלק האחרון , לא משנה כמה נקודות תוסיף האחרון יהיה הסוימת של התמונה :)

Inet 08-08-08 15:43

ציטוט:

נכתב במקור על ידי Striker (פרסם 657893)
כל הקטע זה לקחת את החלק האחרון , לא משנה כמה נקודות תוסיף האחרון יהיה הסוימת של התמונה :)

הדרך הכי פשוטה והכי קלה

Sagi 08-08-08 16:48

ציטוט:

נכתב במקור על ידי Inet (פרסם 657909)
הדרך הכי פשוטה והכי קלה

זה מה שנתתי לו.|שיאו! קטן|

Daniel 08-08-08 17:50

Elad-A הביא את הפיתרון ה"נכון", Sagi, לא נדיר למצוא jpeg - אפילו האווטר שלך הוא jpeg =)

intercooler3819 08-08-08 18:51

לא יעיל לבדוק סיומת, אחרי הכל לדוגמא IE מפרש לפי CONTENT TYPE,
תנסה לשלוח בעזרת getimagesize (ממה שאני זוכר אחד מהפרמטרים המוחזרים הוא הmime type) את הmime type ותבדוק אם הוא נמצא במערך הMIMES המאושרים (in_array)

בהצלחה!

DiXXOver 08-08-08 19:15

תודה לכל העוזרים.
אני הלכתי על הדרך הכי פשוטה של לקחת 3 אותיות אחרונות, כי אצלי במערכת ניתן להכניס רק תמונות GIF JPG ו-PNG לכן אני קורא את האותיות אחרונות במידה וזה שונה משלוש סוגי הקבצים שציינתי, אני מתריע לו על שגיאה.

עוד הפעם תודה לכל העוזרים, אתם יכולים להמשיך לדון על הנושא.
אגב, אוראל מזמן לא ראיתי אותך, והפתיע אותי לראות את התגובה שלך פה : )

intercooler3819 08-08-08 22:40

ממ תשחרר את הקוד לכולם ככה נוכל לתקן באגים (:
(זה לא שיש אצלך איזושהי גאוניות, עוד מיליונים של אנשים עשו תבדיקות האלה בעבר, אל תפחד לשחרר את הקוד)

DiXXOver 09-08-08 16:49

אין מה לשחרר..
זה קוד קטן הבודק את תקינות הלינק וזהו, לא משהו רציני שצריך בדיקת באגים. |Lol|

intercooler3819 10-08-08 03:01

איך שתרצה (:

ניצן


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

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