Eli php opiskelu jatkuu, tosin menestys on vaihtelevaa =)
Yritän siis avata hakemiston "links_db/" ja lukea sieltä jokaisesta .txt filusta ensimmäisen rivin josta tulee se mikä näkyy valinta laatikossa. filu.txt on sitten se arvo jonka valinta laatikko välittää eteenpäin.
Nyt vaan on niin että ensimmäinen .txt file ei näy lainkaan valintalaatikossa (tai näkyy tyhjänä rivinä) ja kun valitsen jonkin kategorian niin sieltä ei tulostu mitään.
select_catagories.php
<?php function list_catagories() { $folder = opendir("links_db/"); // täältä luetaan tiedostot $file = readdir($folder); while ($file) { if ($file != "." && $file != "..") { // jos ei ole hak. niin sitten se on .txt kun muita filuja siellä ei ole. $handlefile = @fopen($file, "r"); // eli avataan se $cat_name = fgets($handlefile, 4096); // luetaan ensimmäinen rivi $cat_name = str_replace(array("\r", "\n"), "", $cat_name); // draizin kiva rivinvaihto poistaja echo "<option value=\"".$file."\">".$cat_name."</option>"; // tungetaan tiedoston nimi ja ensimmäinen rivi valinta laatikkoon fclose($file); } $file = readdir($folder); } closedir($folder); } ?> <form action="links.php" method="post"> <p> <select name="category"> <option value="">Links Main menu</option> <?php list_catagories(); ?> </select> <input type="submit" value="Ok"> </p> </form>
ja tällä sitten luodaan se "linkki lista". html osuus on jo todettu toimivaksi tällä hetkellä käytössä olevalla versiolla.
links.php
(html sorsaa ja <?php include"select_catagories.php"; ?>) <?php // .txt file muuttujaan $cat_file = $_POST['category']; $handle = @fopen("links_db/".$cat_file, "r"); // avataan se if ($handle) // { $turha == fgets($handle, 4096); // eli se eka rivi pois kummittelemasta koska se on kategorian nimi while (!feof($handle)) // lähdetään lukemaan loppuja tietoja { $address = fgets($handle, 4096); // ekana url $site = fgets($handle, 4096); // sivun nimi $desc = fgets($handle, 4096); // jotain soopaa ko. saitista if ($address != "") // ja jos on jotain mitä tulostaa { echo "<li><b>"; echo "<a href=\"".$address."\" target=\"Blank\" >".$site."</a></b><br>"; echo "<font face=\"Arial\" size=\"2\" color=\"#FFFFBB\">".$desc."</li><br><br></font>"; } } fclose($handle); } ?>
No ratkaisin sitten aikani pähkäiltyäni homman näin.
function list_catagories() { $folder = opendir("links_db/"); // täältä luetaan tiedostot $file = readdir($folder); while ($file) { if ($file != "." && $file != "..") { // jos ei ole hak. niin sitten se on .txt kun muita filuja siellä ei ole. $temp = file("links_db/".$file); $cat_name = $temp[0]; $cat_name = str_replace(array("\r", "\n"), "", $cat_name); // draizin kiva rivinvaihto poistaja echo "<option value=\"".$file."\">".$cat_name."</option>"; // tungetaan tiedoston nimi ja ensimmäinen rivi valinta laatikkoon } $file = readdir($folder); } closedir($folder);
KAuneudesta en tiedä mutta ainakin toimii.
Aihe on jo aika vanha, joten et voi enää vastata siihen.