Ga naar inhoud

map uitlezen en inhoud tonen, maar de extentie van bestanden weglaten


dinsterzz

Aanbevolen berichten

hallo,

het probleem is als volgt.

ik ben bezig met een website te maken, en daarop moeten links komen naar pdf bestanden die ook online staan.

aangezien de site geen mysql ondersteunt, moet alles in php.

dit krijg ik:

Untitled Document

met volgende code:

<?php
$count = 0;
if ($handle = opendir('UPLOADMAP/')) {
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {$count++;
           print("<a href=\"".$file."\">".$file."</a><br />\n");
       }
   }
   closedir($handle);
}
?>

nu wil ik(evt. adhv substr) zorgen dat de laatste 4 carakters(in dit geval de .php) worden weggelaten.

nu weet ik echter niet hoe het moet.

als ik

$print substr ("$file",0, -4);

doe lukt het wel, maar de woorden moeten klikbaar zijn, en daar gaat het mis.

de print en de substr lukken mij apart wel, maar ik krijg ze niet samen..

mvg

aangepast door dinsterzz
Link naar reactie
Delen op andere sites

Hoe je het zou kunnen oplossen is alsvolgt:

print("<a href=\"".$file."\">".substr($file,0, -4)."</a><br />\n");

Het mooiere zou zijn dat wanneer je een bestand hebt met een extensie met 2 letters dat hij dan geen 4 letters weghaalt maar 3.

Dit kun je bijvoorbeeld doen door de $file te splitsen in een array, gesplitst door de punt (.) en laat het laatste deel weg.

Je stopt dit dan in een foreach lus en je krijgt de bestandsnaam

Voorbeeld:

$file = "bestand.ik.zet.lekker.puntjes.txt";

Je moet de $file nog opsplitsen in stukjes en het laatste stukje eraf laten. Dat gaat zo:

$filename = explode(".", $file, -1);

Dan doe je een foreach lus op die array:

$fullname = "";
foreach($filename as $naam){
    $fullname .= $naam. "."
}

Je houdt nu het volgende over: bestand.ik.zet.lekker.puntjes.

Nu doe je de de volledige string -1:

$fullname = substr($fullname, 0, -1);

Daarna zet je op de plek van "substr($file,0, -4)" gewoon $fullname (in mijn eerste voorbeeld helemaal bovenaan).

Zou moeten werken.

Groeten,

Leroy

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.