beste mensen,
ik gebruik het script dir uitlezen en linken op mijn pagina, welk script ik dus op deze site heb gevonden => scripts

het script bevat de volgende code:
<?
$dir = "/var/www/directory"; // de directory die hij uit moet lezen
$exten = 'html'; // de extensie die hij weer moet geven
if ($handle = @opendir($dir))
{
while (false !== ($file = @readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if($ext['extension'] == $exten)
{
echo " • <a href='/module/". $file ."' target='_blank'>". basename($file, ".php") ."</a><br>" ;
}
}
@closedir($handle);
}
?>

nu is het rare dat het script het in de ene dir wel doet en en de andere dir niet
In deze dir werkt het script niet:
<?
$dir = "C:/inetpub/Map1/Vergaderingen/Test";
?>
Notice: Undefined index: extension in C:\Inetpub\Map1\Notulen\actielijst.php on line 35

en in deze dir werkt het script wel terwijl deze dir nog een map dieper van de root zit
<?
$dir = "C:/inetpub/Map1/Vergaderingen/Test/Map2";
?>

wie kan mij uitleggen hoe dit komt en hoe ik het misschien kanverhelpen

MvG frits
In map Test staan zeker alleen maar mappen en geen files.
Ik gok dat je de eerste keer geen waarde terugkrijgt van pathinfo. Dan bestaat er geen array $ext en dus ook geen index 'extension'

[edit]
uitbreiding:
[/edit]
Zo kun je het ondervangen:
<?
$dir = "/var/www/directory"; // de directory die hij uit moet lezen
$exten = 'html'; // de extensie die hij weer moet geven
if ($handle = @opendir($dir))
{
while (false !== ($file = @readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if(is_array ($ext) && $ext['extension'] == $exten)
{
echo " • <a href='/module/". $file ."' target='_blank'>". basename($file, ".php") ."</a><br>" ;
}
}
@closedir($handle);
}
?>
@SanThe
in de map test staan wel degelijk bestanden en nog die ik zoek ook :)
als het het script nog verder laat door zoeken dus in map2 waar die bestanden niet staan geeft hij geen melding.

@jan
ik ga is met je script aan de slag

EDIT:
hij geeft wel weer wat er weergegeven moet worden alleen blijft hij ook die notice weergeven :(
iemand nog een idee waar het aan kan liggen ?

want bij mij zijn de mogelijkheden op...

MvG frits
Nog een kleine aanpassing:
<?php
$dir = "/var/www/directory"; // de directory die hij uit moet lezen
$exten = 'html'; // de extensie die hij weer moet geven
if ($handle = @opendir($dir))
{
while (false !== ($file = @readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if(isset ($ext) && is_array ($ext) && $ext['extension'] == $exten)
{
echo " • <a href='/module/". $file ."' target='_blank'>". basename($file, ".php") ."</a><br>" ;
}
}
@closedir($handle);
}
?>
helaas.. de bestanden worden weergegeven maar de notice blijft nog steeds staan.

zou het aan het feit kunnen liggen dat de dir eindigt op een var?


$soort = $_SESSION['soort'];

bij onderstaande verschijnt de notice
$dir = "C:/inetpub/Map1/Vergaderingen/".$soort."/";

bij onderstaande verschijnt geen notice
$dir = "C:/inetpub/Map1/Vergaderingen/".$soort."/map2/";

als ik $soort echo komt er wel de naam van een bestaande map inprinciepe werkt het dus wel anders zou de regel met map2 ook nooit werken...
Bij de ene staat Map1 en bij de tweede wvds in het path.
srry kopier foutje van mij :$ vergeten aan te passen.
Als ik het lokaal test, lukt het alleen met een abolute verwijzing. Probeer eens zo:
<?php
error_reporting (E_ALL);
$dir = 'http://www.jouwsite.nl/directory';; // de directory die hij uit moet lezen. NIET eindigen met een slash
$exten = 'html'; // de extensie die hij weer moet geven
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if(isset ($ext) && is_array ($ext) && $ext['extension'] == $exten)
{
echo " • <a href='/module/". $file ."' target='_blank'>". basename($file, ".php") ."</a><br>" ;
}
}
closedir($handle);
}
?>
als ik de dir verwijs via $dir = 'http://www.pagina.local/Vergaderingen/'; . $soort; dan krijg ik de volgende error:

Warning: opendir(http://www.pagina.local/Vergaderingen/test) [function.opendir]: failed to open dir: not implemented in C:\Inetpub\pagina\Notulen\overzicht.php on line 33

als ik de @ voor opendir() en readdir() zet verschijnt de error niet maae dan heb ik logisch ook geen resultaat

Reageren