Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7508743
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T22:43:44+00:00 2026-05-29T22:43:44+00:00

I am upgrading the way my website runs, I have already integrated mant php

  • 0

I am upgrading the way my website runs, I have already integrated mant php scripts in pages, but I am trying to develop fully php based site, eg, instead of loading urls:

url/events/event-1
url/events/event-2

^^^ 2 seperate pages

I am trying to load

url/event?url=event-1

this is so I can update 1 page but load different content depending on the

$_GET['url']

parameter…..

what I have so far…

I load url/event?url=dance

it will automatically search a directory for the filename ‘dance.txt’

if the file does not exist, it forwards to main events page (url/events)

if the files does exist, it creates a one line string about the event….

the file content is listed like this:

Dance::::18-02-2012::::http://{external link}::::Event Information

the script I have developed to import this data and display it, works fine, but I need a page that will load all events each in a separate div…….

producing this page is simple enough if I can figure out how to arrange the event array data into a multidimensional array for all events…

for individual events, the script simply defines variables as:

$name, $date, $link, $writeup

I have attached sample code of how I do this…

    $dir    = '/server/htdocs/data/';     // path to dir with all event txt files in
$files = scandir($dir);

$fruit = array_shift($files);

$fruit2 = array_shift($files);    // array shifts remove values of '.' and '..'

$line = implode(" ",$files);    // back into string for str_replace

// echo $line;

$oldword = ".txt";

$newword = "";

$newline = str_replace($oldword, $newword, $line);

// echo $newline;


$files = explode(" ", $newline); // array of filenames

if (in_array($url, $files)) {
  $contents = file_get_contents('data/'.$url.'.txt');
} else { header('Location: http://{url}/events'); }

$info = explode('::::', $contents);

// print_r($info);

$name = $info[0];

$date = $info[1];

$link = $info[2];

$writeup = $info[3];

this works perfectly for individual pages, however, I need to have an array like this:

$events = array ( array ( Name => event-1,
                          Date => date-1,
                          Link => link-1,
                          Writeup => event-info ),

                  array ( Name => event-2,
                          Date => date-2,
                          Link => link-2,
                          Writeup => event-info ),

                  array ( Name => event-3,
                          Date => date-3,
                          Link => link-3,
                          Writeup => event-info )
                        );

this is how I presume the array would be formed, but I need the script to count how many files there are in the /data/ folder, and then (I’m presuming) have a foreach loop so that for each array (event) I can echo:

<div id="content2"> 
                    <div class="post">
<center><h2><u>'.$name.' ('.$date.')</u></h2></center>
                       <p class="postmeta"></p>
                        <div class="entry">

<CENTER><img src="events/posters/'.$name.'.jpg" height="400" width="500"></center>

<p><p>

<p>'.$writeup.'</p>

<p><a href="'.$link.'" " target="_blank">'.$name.' Online</a></p>


 </div>
                    </div><!-- post --> 
                </div><!-- content2 -->

I know it may seem a complicated way of going around things, but this way my site will be 100% editable via data in txt files, as right now I have to clone existing page, then re-write all content in it for new event!

foreach($files as $key => $value) {

$array[] = array(explode('::::',(file_get_contents('data/'.$files[$key].'.txt'))));

}

print_r($array);

gives me:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 5th-Element
                    [1] => 11-02-2012
                    [2] => http://www.5thelementrocks.co.uk/
                    [3] => 5th Element are a 5 piece classic rock covers band gigging in venues across the North-West and Wales. Our set lists include tracks by all the greats, including AC/DC, The Cult, Muse, Bon Jovi, Nirvana, Whitesnake, The Darkness, Ozzy Osbourne, and many more. </p><p>We are a high quality, high energy, experienced classic rock band who work hard and play hard to get the audience going and to make sure each gig is a pro performance. Whether were playing for a crowd of one or one thousand, we always give 110% to keep you shakin all night long!
                )
        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => BBGM
                    [1] => 25-02-2012
                    [2] => http://nwb.co/bbgm
                    [3] => BBGM are four 40-50 something musicians (twin guitars, vocals, bass & drums) who were all in various bands years ago, playing and touring all over the North of England & Europe in the 1980s including working and recording with the now legendary producer Gil Norton.</p><p>In 2007 they got together to form BBGM to gig again. Now an established band on the Northwest circuit we are currently gigging throughout the North West and North Wales playing classic rock covers from the 70's 80's and 90's throwing in one or two original tracks penned over the years.
                )
        )

    [2] => Array
        (
            [0] => Array
                (
                    [0] => Plastic-Sarcasm
                    [1] => 18-02-2012
                    [2] => http://www.facebook.com/pages/PLASTIC-SARCASM/284242054943613?sk=info
                    [3] => Four lads who are still burning. Having the desire to kick ass every now and then through the music they create.</p><p>Originally formed in 1978 by current member Phil Narayan together with Paul Wynne, Phil Tonge and Baz Yates, the Band played in the Punk Rock scene era in and around Bolton. Having not played guitar (but played drums for a couple of years from 1986 1989) on stage for over thirty years, Phil Narayan couldn't resist a late urge to enjoy the feeling of playing live on stage once again. Regularly practising with PLUM ( joined the band as singer in 1980) who, now plays Bass guitar and sings, the pair set about making the dream happen once again. They recruited Gordon Connolly for an extra guitar who has been playing throughout his life with various bands, in September 2010. Finally, drummer Gag Martin joined up in reply to an advert at the local rehearsal studios in May 2011.</p><p>"Having had 9 practice / Jammin sessions the band played their first gig in Little Lever on 17th December 2011 where all the old Punk songs were revived. The gig was a screaming success and it is the intention to do more gigs in 2012 when the band will gradually introduce their own numbers more and more as gigs go by."
                )
        )

    [3] => Array
        (
            [0] => Array
                (
                    [0] => Whipcord
                    [1] => 17-02-2012
                    [2] => http://www.facebook.com/whipcord
                    [3] => Doobie Brothers in Bad Brains t-shirts, whistling The Hollies on the way to a Pentagram gig, reading The Wire...it's rock n roll!!</p><p>Whipcord are a stentorian rock n roll power trio from Salford, Manchester UK. Within the noise is a classicist rock feel, drowning in a tar pool of punk rock fury. Being described as the bastard child of Motorhead and Foo Fighters. and that of polished anarchy, not unlike The Whos live shows.
                )
        )
)

aha nearly done.

ps I would like foreach to list by dates stated in each txt file, it currently lists alphabetically from filenames…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T22:43:46+00:00Added an answer on May 29, 2026 at 10:43 pm

    Borrowed a bit of Jribeiro’s code to actually read the files into the two-dimensional array.

    $items = array();
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            $fp = fopen("$file","r");
    
            while($line = fgets($fp)){
                $parts = explode("::::",$line);
                $newArr["Name"] = $parts[0];
                $newArr["Date"] = $parts[1];
                $newArr["Link"] = $parts[2];
                $newArr["Writeup"] = $parts[3];
                $items[] = $newArr;  // add newArr to items
            }
            fclose($fp);
        }
        closedir($handle);
    }
    
    print_r($items);
    

    Then, to loop through the $items array:

    foreach($items as $item){
        $name = $item["Name"];
        echo "Name is $name<br>";
        // etc
    }
    

    Although, I’m required to inform you to look into using MySQL to do this as it is much easier, safer, and more powerful than using a flat text file.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am upgrading part of a very old website. One of the pages that
I've got a bunch of asp pages that I'm upgrading to asp.net. I'm trying
I have downloaded a complete website that will be upgrading for a client. I
I've been developing a website, but I develop on my local machine first. I
I'm trying to allow users to upload files through a PHP website. Since all
I have asp.net 3.5 website, and i want to put an ajax uploader, but
Whats the best way to go about upgrading a project with major design changes...in
What is the best way to go about upgrading TFS 2005 to 2008? Also,
I'm upgrading from jQuery 1.5.1 -- I've read about the new way to check
Upgrading .Net Events system from Tridion 2009 to Tridion 2011 SP1. Does anyone have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.