Avatar billede tiedt Nybegynder
06. marts 2003 - 07:14 Der er 9 kommentarer og
1 løsning

Php liste over html filer i et dir

jeg er kodeanalfabet... :-)
MEN kan det lade sig gøre at lave et phpscript som opsætter en række links til alle html.filer i et bestemt dir?
Avatar billede ahv Nybegynder
06. marts 2003 - 07:48 #1
<?php

$sti = "/"; //Her skal din sti stå, f.eks. "/html-filer/"
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";

echo listFiler($dist);
function listFiler($bibliotek) {
if($bib = @opendir($bibliotek)) {

while (false !== ($fil = readdir($bib))) {
if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
if(eregi(".html$", $fil))
{
$fil_liste[] = "<a href=\"$bibliotek$fil\">$fil</a>";
}}}
closedir($bib);

if(is_array($fil_liste)) {
$liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
}
echo "<ul>" . $liste . "</ul>";
}}

?>
Avatar billede ahv Nybegynder
09. marts 2003 - 19:45 #2
Ved ikke om du afviste mit svar fordi du ikke kunne se hvad jeg havde skrevet eller om fordi du ikke kunne bruge det, men det her script udskriver hvertfald en liste over html filer i et givent bibliotek:

<?php

$sti = "/"; //Her skal din sti stå, f.eks. "/html-filer/"
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";

echo listFiler($dist);
function listFiler($bibliotek) {
if($bib = @opendir($bibliotek)) {

while (false !== ($fil = readdir($bib))) {
if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
if(eregi(".html$", $fil))
{
$fil_liste[] = "<a href=\"$bibliotek$fil\">$fil</a>";
}}}
closedir($bib);

if(is_array($fil_liste)) {
$liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
}
echo "<ul>" . $liste . "</ul>";
}}

?>
Avatar billede tiedt Nybegynder
09. marts 2003 - 21:50 #3
Ahv: Du havde ret, jeg kunne hverken se mit eget indlæg eller dit svar, desuden ville den ikke skrive min kommentar.... Det skyldes jo nok deres tekniske vanskeligheder her på stedet.
Anyway:
1000 tak, scriptet virker... 
Du kan se mine prøve sider her: http://christian.tiedt.person.emu.dk/
Lige under stenalder manden står en liste med to filer i test1 og test2.
to spørgsmål:
Hvorfor virker linkne ikke? Siden er i rammer, har det noget med sagen at gøre?
Avatar billede ahv Nybegynder
09. marts 2003 - 23:37 #4
Spm 1:

Lav det lidt om:

<?php

$sti = "/"; //Her skal din sti stå, f.eks. "/html-filer/"
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";

echo listFiler($dist);
function listFiler($bibliotek) {
if($bib = @opendir($bibliotek)) {

while (false !== ($fil = readdir($bib))) {
if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
if(eregi(".html$", $fil))
{
$fil_liste[] = "<a href=\"http://christian.tiedt.person.emu.dk/$fil\">$fil</a>";
}}}
closedir($bib);

if(is_array($fil_liste)) {
$liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
}
echo "<ul>" . $liste . "</ul>";
}}

?>

linien:
$fil_liste[] = "<a href=\"$bibliotek$fil\">$fil</a>";
skulle laves om så $bibliotek blev til din hjemmeside url.


spm. 2:
Nej.
Avatar billede tiedt Nybegynder
10. marts 2003 - 07:04 #5
Ok, tak for hjælpen.
-har det beydning for syntaxen at der er byttet om på anførselstegnet og større-end til sidst i linien, i forhold til starten?
"<a href=\"http://christian.tiedt.person.emu.dk/$fil\">

også lige en sidste ting: kan man på en simpel måde få sorteret listen efter f.eks filens oprettelses dato?
Avatar billede ahv Nybegynder
10. marts 2003 - 07:20 #6
Spm. 1:
Kan ikke lige se hvad du mener

Spm. 2:
Det tror jeg faktisk godt man kan, har ikke lige sat mig ind i det, men kan da komme med et bud til imorgen (har en travl dag). Hvis du ønsker dette?
Avatar billede tiedt Nybegynder
10. marts 2003 - 13:09 #7
1. glem det jeg fandt selv ud af det ved et eksperiment. du kan se at jeg får den der parsefejl...

2. Meget gerne... :-)
Avatar billede tiedt Nybegynder
10. marts 2003 - 16:57 #8
Hmmm.... linksne virker stadig ikke....

HEr er det script som det ligger på siden:

<?php

$sti = "/images/"; //Her skal din sti stå, f.eks. "/html-filer/"
$dist = $_SERVER["DOCUMENT_ROOT"] ."$sti";

echo listFiler($dist);
function listFiler($bibliotek) {
if($bib = @opendir($bibliotek)) {

while (false !== ($fil = readdir($bib))) {
if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
if(eregi(".htm$", $fil))
{
$fil_liste[] = "<a href=\"http://christian.tiedt.person.emu.dk/$fil\">$fil</a>";
}}}
closedir($bib);

if(is_array($fil_liste)) {
$liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
}
echo "<ul>" . $liste . "</ul>";
}}

?>

????
Avatar billede ahv Nybegynder
10. marts 2003 - 19:16 #9
Det er fordi filerne ligger i et under bibliotek, fejl fra min side sorry, en forkortet og funktionel udgave:

<?php

$sti = "/images/"; //Her skal din sti stå, f.eks. "/html-filer/"

if($bib = @opendir($_SERVER["DOCUMENT_ROOT"] ."$sti")) {
while (false !== ($fil = readdir($bib))) {
if(eregi(".html$", $fil))
{
echo "<a href=\"http://christian.tiedt.person.emu.dk$sti$fil\">$fil</a><br>";
}}
closedir($bib);

}

?>
Avatar billede tiedt Nybegynder
10. marts 2003 - 20:46 #10
Sådan! Så virker det... Fedt! Tak for hjælpen...
- Hvis du har et forslag til hvordan man kan sortere dem efter dato så læg det endelig frem her.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester