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

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

dor77 13-10-08 13:33

מערכת נהיול תוכן על בסיס קבצי txt.
 
שלום.
אני רוצה לבנות אתר מדריכים קטן לנושא ספציפי וקטן, משהו שיכול לעזור להמון אנשים.
אני לא צריך שום דבר מיוחד.
ניסיתי ללמוד קצת SQL וירדתי מזה, נהיה לי קשה מדי, חלצערי המדריכים בעברית על הפנים, מתחילים איתך ישר עם תוכנות במקום להסביר צעד צעד.
בכל אופן, ישנן המון מערכות לניהול תוכן כמו 19pages ועוד רבות, שלא פעולות עם מסדי נתונים, אלא קבצים.
זה נשמע משהו ידידותי יותר ונוח יותר.
אשמח לשמוע קצת על ההפשרות זהו, יתרונות, חסרונות (במיוחד חסרונות) ואם אשר מדריך קצרצר אני אשמח.
PHP למדתי עד אמצע הדרך ואני יודע לקרוא את רוב הקודים ברמה הבסיסית - בינונית (אין סיבה לפחד מזה).

אז..תודה רבה לעוזרים וחג שמח לכולם!

pirsomet 14-10-08 02:41

אני לא חושב שתהיה יותר קל להבין עבודה של קבצים. להבין אולי יותר קל אבל לבנות מערכות ולשמור מידע בקבצים...
לגבי חסרונות:
1.בעזרת SQL אפשר בקלות לבצעה המון דברים שאותם, במקרה של עבודה עם קבצים, תצטרך לממש בעצמך.
2. בגלל שאתה צריך לחשוב בעצמך על דרכים לעיבוד נתונים מקבצים, יש גם יותר סיכוי שתעשה משהו שיעבוד אטי וייקח הרבה משאבים של שרת.
3.PHP לא נועד לעיבוד של כמויות גדולות של נתונים. כשה אתה משתמש במסדי נתונים ,כמו MYSQL , העיבוד מתבצע שם בצד של שרת של מסד נתונים וPHP מקבל רק תוצאות. במקרה של מסדי נתונים עבודה עם PHP זה בסדר אבל אם אתה עובד ישירות עם כמויות גדולות של נתונים, שנמצאים בקבצים, במקרה זה PHP היא לא השפה המתאימה ביותר בשביל זה. יש שפות כמו AWK,PERL שיותר מתאימות לזה אבל לא PHP...

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

קוד:


<?php
$array1['key1']='value1';
$array1['key2']='value2';

$array1=serialize($array1);
//save the data

$file=file_put_contents('file.dat',$array1);

//now read the data

$array2=file_get_contents('file.dat');
$array2=unserialize($array2);

foreach($array2 as $key=>$value)
{
echo "$key - $value";
}

?>

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

אם לא הבנת משהו בקוד זה - תשאל ואני אפרט.

daMn 14-10-08 04:33

תרד מהקטע הזה ותחזור לSQL, זה לא מסובך כמו שאתה חושב, הפעולות הבסיסיות של שליפה/הוספה/עידכון/מחיקה באמת פשוטות, תלמד קצת על phpMyAdmin, קצת על שאילתות SQL ואיך מבצעים אותם בעזרת PHP, זה יחסוך לך הרבה כאבי ראש וגם תלמד לעבוד נכון.
תתחיל מפה: http://www.learnphp.co.il/19.guide

xoox 14-10-08 06:44

ציטוט:

נכתב במקור על ידי dor77 (פרסם 672935)
שלום.
אני רוצה לבנות אתר מדריכים קטן לנושא ספציפי וקטן, משהו שיכול לעזור להמון אנשים.
אני לא צריך שום דבר מיוחד.
ניסיתי ללמוד קצת SQL וירדתי מזה, נהיה לי קשה מדי, חלצערי המדריכים בעברית על הפנים, מתחילים איתך ישר עם תוכנות במקום להסביר צעד צעד.
בכל אופן, ישנן המון מערכות לניהול תוכן כמו 19pages ועוד רבות, שלא פעולות עם מסדי נתונים, אלא קבצים.
זה נשמע משהו ידידותי יותר ונוח יותר.
אשמח לשמוע קצת על ההפשרות זהו, יתרונות, חסרונות (במיוחד חסרונות) ואם אשר מדריך קצרצר אני אשמח.
PHP למדתי עד אמצע הדרך ואני יודע לקרוא את רוב הקודים ברמה הבסיסית - בינונית (אין סיבה לפחד מזה).

אז..תודה רבה לעוזרים וחג שמח לכולם!


מניסיון אני אומר לך...
TXT לא בריא לאתרים עם תוכן רב מהסיבות הבאות:

1. כל פעם שהסקריפט רץ אז הקובץ ננעל בזיכרון (משמעותי במידה ויש כניסות רבות עם שינוים בקובץ).

2. במידה ויש לך המון נתונים שם בקובץ TXT אז תחשוב שכל פעם שאתה תריך את הסקריפט אז השרת מריץ את כל הקובץ וזה לוקח המון משאבים, בוא אני יביא לך דוגמא לזה
היה לי פעם מועדון ICQ על משתמשים שם, כ3500 רשומים בתוך הקובץ TXT, הקובץ שקל כ-800K עכשיו מה קורה? כל פעם שסםתם המועדון היה נטען אז השרת צריך לפתוח את הקובץ, לקורא ולכתוב במידה ויש שינויים
בזממנו ההיתי מאוחסן באיחסון של חברה לא משנה מה שמה, כל הזמן היו מתלוננים שאני תופס משאבים על השרת.
יום אחד קיבלתי קריזה ובניתי א תהסקריפט מחדש, ואת את כל הנתונים המרתי לMYSQL, איזה שינוי מדהים, ומהירות חבל"ז עבד פגז!!!

3. במידה ויהיה לך שם איזה שגיאה לך תחפש את הבעייה אחרי זה בתוך קובץ TXT, תצתרך לעלות אותו ולהוריד אותו לערוך ועממעעייייטטטט!

4. אי אפשר לעשות שם אינדקסים, שזה משמעותי למהירות ושליפת נתונים.

5. זה דבר מאוד מאוד מיושן.

dor77 14-10-08 10:14

קודם כל תודה.
אני יודע שזה קל אבל אם יש לך מדריך טוב.
אני יתן לכם דוגמא, אני מנסה ללמוד מפה:
http://www.webmaster.org.il/article.asp?id=269
הוא יוצר שם טלבה עם תוכנה מסויימת.
מה? מי? מתי? איך? למה? כמה?
למה צריך את התוכנה?
מאיפה אני מוריד אותה, מה היא עושה?
למה זה מופיע רק במדריך הזה, ובמדריך של learnphp לא מוזכרת התוכנה הזו?
אם אני יצליח להתחבר למסד, שהמנהל יוסיף 2 דברים כמו:
כותרת:
נושא:

וזה יתווסף, אני הבנתי ומשם השמיים הם הגבול.
אבל זה מתחיל שם ממסובך מאוד ולא הבנתי כבר מההתחלה.
PHP למדתי את האמצע, לא הפסקתי כי נשברתי, באמת שלא, זה די סבבה, אני ממשיך בימים האחרונים, לא שפה קשה במיוחד.
אני רואה ש sql היא קלה יותר, כי אין פה הרבה אפשרויות, התחברות, הוספה, מחיקה, עריכה ועוד כמה דברים בסיסיים.
עוד משהו שלא הבנתי, סוגי השדות, לא הבנתי אם יש שדה רק למספרים, אותיות, פשוט כתוב שם "מוגבל עד 255 תווים".
זה לא מההתחלה, בכלל לא.
חוץ מזה שרק המדריך הזה דיבר על עבודה עם תוכנה.
אני בטוח,במיליון אחוז (ותתקנואותי אם אני טועה) שאם אני אוכל ליצור מערכת פשוטה כמו שהזכרתי למעלה, "כותרת" "נושא" אני אוכל לבנות גם מערכת ניהול תוכן פשוטה מאוד, אני לא מדבר על לבנות ג'ומלה, משהו פשוט כדי שיהיה לי קל יותר להכניס תוכן לאתרים שלי.

תודה.

DorOaki 14-10-08 10:36

התוכנה MS Access זה בעצם כמו MySQL של PHP, אתה לא צריך להתקין את התוכנה הזאת אלא אם כן אתה רוצה לעבוד עם השפה ASP.

dor77 14-10-08 10:45

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

Jerba 14-10-08 11:11

ציטוט:

נכתב במקור על ידי dor77 (פרסם 673209)
אהה..
אז המדריך הזה לא עוזר לי.
אני עובד עם php, עוד שמהו שלא מובן וזה עיקר הבעיה היא שלא מסבירים איפה יוצרים טבלאות ואיך, כבר עברתי על אלף מדריכים וכולם מסבירים רק את הפקודות, בלי התאכלס, בלי לבנות את הטבלה.

לבנות את הטבלה זאת הבעייה שלך?

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

ליצור טבלה עזובתך בנתיים , תעשה ידני בSQL (למרות שיש שאילתות לזה). כדי לגשת לSQL
אמור להיות לך דף בשם PHPMYADMIN שזה הקישור שלך למסד נתונים..
בכל מסד יש טבלאות וזהו בערך..אתה יכול לפתוח מסדים ותוך המסדים לפתוח טבלאות..
אם זאת הבעייה שלך אז זה הקטע הקל חחח..

dor77 14-10-08 11:49

למדתי מהמדריך של סיגל sql עד פרק ג'.
אני חושב שזה מספיק כדי לנסות טבלה אחת.

בדף הראשון, פה:
http://www.sigall.co.il/sql/sql1.asp
היא בנתה טבלה עם שם, מספר טלפון, תאריך לידה.

זה הקוד:


PHP קוד:



CREATE TABLE 
class 
(
name char(25) ,phone char(10) ,birth date); 


כעת, לפני שאוכל לעבוד עם SELECT ועוד פונקציות, אני צריך ליצור טבלה כזו.
שמה היא מתייחסת ל asp ואני עובד עם php, כלומר phpmyadmin.
יש לי שרת wamp5 על המחשב.
איך אני פותח טבלה חדשה ומכניס לשם את הנותנים הבאים למשל, כמו שהיה נתנה במדריך:


PHP קוד:



INSERT INTO 
class 
(
name,phone,birth)
VALUES ('Shimon','03-4224097','13/07/1975');



INSERT INTO class 
(
name,phone,birth)
VALUES ('Pnina','03-7170985','15/05/1975');



INSERT INTO class 
(
name,phone,birth)
VALUES ('Dalia','03-2334455','01/12/1974'); 



מישהו יכול לעזור לי לבנות את הקובץ שכולל את הנתונים למעלה + ההתחברות למסד?
לפי המ שלמדתי זה הקוד להתחברות:


PHP קוד:



<?
$mysql_link 
mysql_connect ('localhost','שם משתמש למסד','סיסמה')
//התחברות למסד
or die ("שגיאה בהתחברות למסד");
mysql_select_db ("שם המסד",$mysql_link)
//בחירת מסד
or die ("שגיאה בבחירת מסד")
?>


כאשר הפרטים של השרת wamp הם כאלו:

localhost
שם משתמש: root
סיסמא: '' (ריק)
שם המסד: wb

אני צודק עד כאן? (בטח יצא למישהו פה לעבוד עם wamp)

אז הנה הקוד של ההתחברות:


PHP קוד:


<?
$mysql_link 
mysql_connect ('localhost','root','')
//התחברות למסד
or die ("שגיאה בהתחברות למסד");
mysql_select_db ("wb",$mysql_link)
//בחירת מסד
or die ("שגיאה בבחירת מסד")
?>



אז, מה הלאה?
איך אני יוצר טבלה ומכניס לשם את הערכים שקבעתי?
ניסיון שלי:


PHP קוד:



<?
$mysql_link 
mysql_connect ('localhost','root','')
//התחברות למסד
or die ("שגיאה בהתחברות למסד");
mysql_select_db ("wb",$mysql_link)
//בחירת מסד
or die ("שגיאה בבחירת מסד")
?>


INSERT INTO class 
(name,phone,birth)
VALUES ('Shimon','03-4224097','13/07/1975');



INSERT INTO class 
(name,phone,birth)
VALUES ('Pnina','03-7170985','15/05/1975');



INSERT INTO class 
(name,phone,birth)
VALUES ('Dalia','03-2334455','01/12/1974');


די בטוח שזה לא נכון.

עזרה?

תודה ;)

xoox 14-10-08 15:21

PHP קוד:

<?
mysql_query
("INSERT INTO class VALUES ('Dalia','03-2334455','01/12/1974');");
?>



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

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