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

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

amirs_5 08-08-06 16:43

[php] בעיה מוזרה בתנאי
 
PHP קוד:

$file "logo.gif";
list(
$name,$ext) = explode(".",$file);
if ((
$ext != "gif") or ($ext != "jpg")) {
echo 
"לא ניתן להעלות את הקובץ ".$name." הסיומת ".$ext." אינה חוקית";
exit;


והפלט:
לא ניתן להעלות את הקובץ logo הסיומת gif אינה חוקית

למה זה ככה?

דרך אגב שאני רושם בתנאי :
PHP קוד:

if ($ext != "gif"){ 

הכל עובד מצויין

Eli-Hai 08-08-06 16:45

אם אתה מתייחס אך ורק לפורמט, פשוט תשמש בsubstr().

Alter 08-08-06 16:45

תעשה דקה || במקום or ותבדוק..

WebProject 08-08-06 16:52

$file = logo.gif

איפה הגרשיים? והנק' פסיק?

amirs_5 08-08-06 16:55

יוו אתם מגיבים מהר חחח
אליחי תפרט איך :S

אלטר שניה אני מנסה...(ניסתי לא עובד)

webproject
המשתנה file אצלי שווה ל
PHP קוד:

$file $_FILES['file']['name']; 

רק פה שרשמתי רשמתי מהר , בגלל שתראו את הפלט שזה מביא שאני עושה העלאה..

Eli-Hai 08-08-06 17:02

קרא עוד על הפונקציה substr().

meshuga 08-08-06 17:04

תחליף את הOR לAND (או מ|| ל&&).
התנאי שלך לא נכון שם.

הרחבה:
בגלל שעשית OR, אז מספיק שאחד מהתנאים מתקיימים, אם הוא לא שווה GIF לא מתקיים, אך אם הוא לא שווה JPG כן מתקיים, לכן התנאי עצמו מתקיים, אם תחליף את זה לAND, אז זה יהיה כמו שרצית.


אגב, לא ככה מוצאים סיומת של קובץ...אבל בקטנה, זה לא קשור לשאלה שלך עכשיו.

amirs_5 08-08-06 17:06

ציטוט:

נכתב במקור על ידי meshuga
תחליף את הOR לAND (או מ|| ל&&).
התנאי שלך לא נכון שם.

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

תודה גם לכל מי שניסה ועזור ואליחי אני קורא על זה עכשיו ..:)

meshuga 08-08-06 17:16

ציטוט:

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

תודה גם לכל מי שניסה ועזור ואליחי אני קורא על זה עכשיו ..:)

אין בעד מה........על שניהם ;).....רק הגיון פשוט, לפעמים יותר נוח להפוך את זה למשפט כמו שאני כתבתי פה ולראות אם זה מסתדר.


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

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