שליפה אקראית של שורות מתוך קובץ טקסט

‏ • 20 בנובמבר, 2004

הקדמה


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


שלב א – יצירת קובץ הטקסט (אוסף הציטוטים שלנו)


ראשית כל אנו צריכים ליצור קובץ עם אוסף הציטוטים שלנו.
כל ציטוט יש לרשום בשורה נפרדת.
נשמור את הקובץ כ-quotes.txt
לצורך ההדגמה, שאותה תוכלו להוריד כקובץ zip בסוף המאמר, יצרתי קובץ טקסט עם ציטוטים של אלברט איינשטיין.


שלב ב – הקוד שלנו




  1. נגדיר את אוסף הציטוטים שלנו באמצעות פונקציה שנקראת file.
    הפונקציה file תגדיר לנו את קובץ הטקסט כמערך כשכל שורה בקובץ היא אלמנט במערך.












    1
    2
    3  








    <?php
    $quotes_array = file('quotes.txt');
    ?>




  2. עכשיו נבחר שורה בצורה אקראית מתוך האוסף שלנו.
    לצורך כך נשתמש בשתי פונקציות.
    הראשונה היא פונקצית rand אשר לוקחת זוג מספרים ובוחרת מספר אקראי ביניהם.
    הפונקציה השניה היא count אשר תיקח את המערך ותיתן לנו את מספר האלמנטים (השורות) שנמצאים בו.












    1
    2
    3  








    <?php
    $quote = $quotes_array[rand(0, count($quotes_array) 1)];
    ?>




  3. כל מה שנשאר לנו זה להציג את התוצאה:












    1
    2
    3  








    <?php
    echo ""$quote" <br />Albert Einstein";
    ?>



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

סוף דבר…


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

תגיות: , ,

תגובות בפייסבוק