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

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

BlueNosE 08-02-06 20:46

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

המדריך הזה בשבילכם.

קודם כל קצת ש"ת בסיסיות:

איך אני פותח קובץ?
ע"י fopen. הפונקצייה פותחת קובץ במצבים שונים (כתיבה, קריאה, כתיבה וקריאה ועוד).
שימוש:
PHP קוד:

$handle fopen("Location.php"); 

מה ההבדל בין include לrequire?
ההבדל הוא מאוד קטן.
בסה"כ אצל include הרצת הקובץ ממשיכה גם לאחר שגיאה (ולכן אפשר גם לשלוט בשגיאות פתיחה) ואצל require לא (PHP עוצר את הקוד ומציג fatal error).
טיפ: אם אתם מייבאים פונקציות, תשתמשו בinclude_once() או require_once(). האפשרות הזאתי מעלה את המסמך פעם אחת, ואם מריצים את המסמך שוב היא לא מאפשרת וממשיכה את התהליך.
מתי להשתמש בMYSQL ומתי לא?
מתי שאפשר לא להשתמש (וזה גם בטיחותי) - אל תשתמשו. המלצה חמה ממני. הסיבה היא שמאוד קשה להשתלט על אתר שלם במסד נתונים.
SAFE MODE ><
סייף מוד- סוג של מנגנון בטיחות בPHP. משום מה, הוא פועל בהרבה מאוד דברים חשובים. אבל יש דרכים לעקוף אותו.
למשל, הפונקצייה chdir() מנוטרלת ע"י SAFE MODE, אבל אם תתחברו לftp לפני כן- תוכלו להשתמש בftp_chdir.


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

$bla = array ("1""2");
list (
$one$two) = $bla;
echo 
$one//1
echo $two//2 

explode
מפריד בין חלקים של מחרוזת (string). דוגמא:
PHP קוד:

$string "bla bla | blip | blop hiii | aaa";
$ex explode ("|"$string); //יחזיר Array
echo $ex[0]; //"bla bla"
echo $ex[2]; //"blop hiii" 

שימוש של list עם explode
הרבה פעמים משתמשים בשילוב הזה.
PHP קוד:

$fruit "apple banana orange carrot";
list (
$a$b$c$none) = explode (" "$fruit);
echo 
"Fruits: $a, $b, $c\n"//Fruits: apple, banana, orange
echo "$none is NOT a fruit"//carrot is NOT a fruit 

ereg, eregi
פונקציות שמגלות אם קיים בטקסט המחרוזת שציינו.
ההבדל בניהם הוא שereg() היא case-sensitive, כלומר יש הבדל בין אותיות גדולות לקטנות.
הפונקציות יחזירו true אם המחרוזת נמצאה ו-false אם אחרת.
דוגמא:
PHP קוד:

$text "ABCDefg";
if (
ereg ("a"$text)) //false
echo "the string \"$text\" contains the string \"a\" <br>\n";
if 
eregi ("a"$text)) //true
echo "the string \"$text\" contains the string \"a\" or \"A\"<br>\n";
if 
ereg ("f"$text)) //true
echo "the string \"$text\" contains the string \"f\" <br>\n"

***str***
יש מלא פונקציות של str, שקשורות לתו עצמו. דוגמאות:
PHP קוד:

/*strlen*/
/*אורך הטקסט- סופר גם רווחים*/
$str 'abcdef';
echo 
strlen ($str); // 6

/*strstr*/
/*מפריד חלק מהטקסט*/
$path 'http://www.site.com/path';
$domain strstr ($path'www');
echo 
$domain//www.site.com/path

/*substr*/
/*מציג את הטקסט מתו x עד תו y*/
$text 'bla bli blo';
echo 
substr ($text03); //bla
echo substr ($text43); //bli, אני לא בטוח שזה נכון
echo substr ($text1); //la bli blo
echo substr ($text23); //a b 

nl2br
מעביר תגיות \n לתגיות <br /> או <br> בהתאם לגירסא.
דוגמא:
PHP קוד:

$text "
Hello!\n
My name is Meshulam\n
And bla bla bla bla\n"
;
echo 
nl2br ($text);
/*
Hello!<br>
My Name is Meshulam<br>
And bla bla bla bla<br>
*/ 

שימושי מאוד בקבלת טקסט דרך $_POST, כי הטקסט מתקבל עם \nים בכל אנטר.

md5
הצפנה חד כיוונית (כלומר אין אפשרות להחזיר את מה שהצפנת לערך הקודם).
שימושי מאוד במערכות עם סיסמאות.
-תמיד יהיו רק 32 תווים אחרי ההצפנה-
דוגמא:
PHP קוד:

echo md5 ("bla bla"); //משהו כמו d793c9fb7c0510c98625263f27ce53b8 

url
מצפין את הטקסט כדי שיוכל לעבור דרך הurl.
מתחלק להצפנה (urlencode)
והחזרה (urldecode)
דוגמא:
PHP קוד:

$text "this is a text";
$text urlencode ($text);
echo 
$text//this%20is%20a%20text
$text urldecode ($text);
echo 
$text//this is a text 

ואחרון חביב (באמת חביב) - base64
base64 מתחלק ל-2 פונקציות:
הצפנה (base64_encode)
והחזרה (base64_decode)
דוגמא:
PHP קוד:

$text "this is a text";
$text base64_encode ($text);
echo 
$text//יוציא משהו מוזר ולא ברור
$text base64_decode ($text);
echo 
$text//this is a text 

זהו, מקווה שהבנתם, תנו ציון / הערות בבקשה.

meshuga 08-02-06 21:01

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

BlueNosE 08-02-06 21:07

תודה לך =]

ohadamar 08-02-06 21:08

תודה רבה :-]

miniature 09-02-06 08:00

תודה רבה.


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

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