Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Miten käännetty järjestys PHP:llä?

EterAnal [20.06.2006 12:30:03]

#

Moro,

Tekaisin tuollaisen koodinpätkän. Se hakee hakemistosta kaikki *publications2*.php tiedostot ja poistaa niistä hakemistopolut sekä kaiken muun jättäen jäljelle vain vuosiluvut, jotka skripti sitten muuttaa linkeiksi tyyliin "hakemisto/publications2003.php" muuntuu linkiksi "2003". Ongelma on siinä, että miten saan simppelisti tulostettua nuo linkit aloittaen isoimmasta luvusta ts. kansion viimeisestä hakemistosta?

********************************************************
<?php
foreach (glob("*publications2*.php" ) as $filename) {
	$filename = basename($filename);
	$filename = str_replace("publications","",$filename);
	$filename = str_replace(".php","",$filename);
    	echo "<li><a href=\"publications$filename.php\" title=\"Publications, year $filename\">$filename</a></li>";
	}
?>
********************************************************

Blaze [20.06.2006 12:35:25]

#

Foreach-silmukan sijaan ota globin palauttama taulu johonkin muuttujaan ja käy tämä taulu nurinpäin läpi
for($i = count($taulu) - 1; $i >= 0; $i--)

EterAnal [20.06.2006 16:12:36]

#

Kiitoksia, pitääpä kokeilla tuota.

EterAnal [21.06.2006 14:19:35]

#

Moro,

Otan nyt tuossa globin taulun filearray-muuttujaan. Sitten olisi tarkoitus poistaa sieltä taulukon alkioista nuo ylimääräiset merkit ja jättää vain suosiluvut ja sen jälkeen tulostaa alkiot käännetyssä järjestyksessä. Nyt alkiot on kuitenkin tyhjiä. Missä vika?

<?php
$filearray = glob("*publications2*.php");
for($i = count($filearray) - 1; $i >= 0; $i--) {
$filearray[i] = basename($filearray[i]);
$filearray[i] = str_replace("publications","",$filearray[i]);
$filearray[i] = str_replace(".php","",$filearray[i]);
echo "<li><a href=\"publications$filearray[i].php\" title=\"Publications, year $filearray[i]\">$filearray[i]</a></li>"; }
?>

Mod. edit: kooditagit

ajv [21.06.2006 14:39:37]

#

Ainakin sulta puuttuu tuolta i-muuttujasta dollarimerkki.

EterAnal [21.06.2006 14:48:18]

#

Kiitoksia, se ratkaisi ongelman.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta