open dir error
Ik heb al enorm veel geprobeerd om te achterhalen wat mijn fout is. Echter kan ik hem niet vinden.
--> de map is juist
--> de rechten zijn 755
dit is de error
[03-Jan-2012 15:46:58] PHP Warning: opendir(../../../../fotoalbum/test/album@doc/) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in nieuwalbum.php on line 24
Kan iemand me vertellen wat ik fout doe -( ben er al even naar opzoek )-
Alvast bedankt, groeten christophe
--> de map is juist
--> de rechten zijn 755
dit is de error
[03-Jan-2012 15:46:58] PHP Warning: opendir(../../../../fotoalbum/test/album@doc/) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in nieuwalbum.php on line 24
Kan iemand me vertellen wat ik fout doe -( ben er al even naar opzoek )-
Alvast bedankt, groeten christophe
Gewijzigd op 03/01/2012 16:01:01 door Php knipper
Aan de foutmelding te zien is je pad naar het bestand verkeerd.
Kun je een stukje relevante code plaatsen?
Kun je een stukje relevante code plaatsen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$dir = "../../../../".$_POST['folder']."/".$_POST['map']."/";
# Absolute pad naar de plaatjes directory.
$handle = opendir($dir);
while(false !== ($file = readdir($handle)))
{
if(($file !== ".") && ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
$ext = strtolower($ext);
if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
{
$files[] = $file;
}
}
}
?>
$dir = "../../../../".$_POST['folder']."/".$_POST['map']."/";
# Absolute pad naar de plaatjes directory.
$handle = opendir($dir);
while(false !== ($file = readdir($handle)))
{
if(($file !== ".") && ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
$ext = strtolower($ext);
if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
{
$files[] = $file;
}
}
}
?>
Om te beginnen, zal je dit veel beter moeten beschermen.
$_POST['folder'] en $_POST['map'] zijn gegevens die van de gebruiker komen; je zal heel goed moeten controleren dat men daar niet kan prutsen.
Ga nooit uit van de goedheid van de gebruiker.
Verder lijkt het me waarschijnlijk dat het ligt aan de plaats van de map ten opzichte van de locatie waar de gebruiker naar surft.
Is dat echt nodig dat map zo ver ligt ( "../../../../" )?
Heb je al eens geëxperimenteerd met het lezen van een directory die ergens een submap is van de plaats waar de php file staat?
$_POST['folder'] en $_POST['map'] zijn gegevens die van de gebruiker komen; je zal heel goed moeten controleren dat men daar niet kan prutsen.
Ga nooit uit van de goedheid van de gebruiker.
Verder lijkt het me waarschijnlijk dat het ligt aan de plaats van de map ten opzichte van de locatie waar de gebruiker naar surft.
Is dat echt nodig dat map zo ver ligt ( "../../../../" )?
Heb je al eens geëxperimenteerd met het lezen van een directory die ergens een submap is van de plaats waar de php file staat?
Misschien staat die dir niet in je basedir en mag je daar dus niet komen?
ik weet dat het gek is maar die ../../../../ is nodig omdat ik helemaal vanuit de admin terug naar de hoofdmap moet.
de post gegevens moeten nog beschermd worden (al weet ik nog niet hoe ik dat ga doen ).
de zin "Heb je al eens geëxperimenteerd met het lezen van een directory die ergens een submap is van de plaats waar de php file staat?" snap ik niet echt goed?
de post gegevens moeten nog beschermd worden (al weet ik nog niet hoe ik dat ga doen ).
de zin "Heb je al eens geëxperimenteerd met het lezen van een directory die ergens een submap is van de plaats waar de php file staat?" snap ik niet echt goed?
Okay, je hebt een php file
index.php
In de zelfde map waar index.php staat, zet je een submap (bv. "files")
en dan probeer je
Als dit werkt zoals je wil, weet je ten minste dat de rest van de code werkt. Dan moet je enkel nog zien dat je het pad juist krijgt.
(dingen oplossen door eliminatie; deeloplossingen ...)
index.php
In de zelfde map waar index.php staat, zet je een submap (bv. "files")
en dan probeer je
Als dit werkt zoals je wil, weet je ten minste dat de rest van de code werkt. Dan moet je enkel nog zien dat je het pad juist krijgt.
(dingen oplossen door eliminatie; deeloplossingen ...)
Ik zou om te beginnen foutafhandeling inbouwen om te controleren of de gezochte map wel bestaat.
Dit kun je doen met file_exists
Wat voor namen heb je voor de folders en de mappen? Alleen letters en cijfers?
Je zult je wel verteld hebben met het aantal ../.
Dit kun je doen met file_exists
Wat voor namen heb je voor de folders en de mappen? Alleen letters en cijfers?
Je zult je wel verteld hebben met het aantal ../.
o de rest van mijn script werkt wel en file exists ook
Toevoeging op 03/01/2012 16:54:50:
anders krijg ik deze error
[03-Jan-2012 15:22:20] PHP Warning: readdir(): supplied argument is not a valid Directory resource in nieuwalbum.php on line 20
Toevoeging op 03/01/2012 16:54:50:
anders krijg ik deze error
[03-Jan-2012 15:22:20] PHP Warning: readdir(): supplied argument is not a valid Directory resource in nieuwalbum.php on line 20
Wat doet die @ daar in album@doc?
ik heb een systeem dat door mijn mappen kan bladeren
je kan het vergelijken met een bestand
naam punt ext de punt is de @ en de ext is doc ( deze map wordt niet weergegeven)
je kan het vergelijken met een bestand
naam punt ext de punt is de @ en de ext is doc ( deze map wordt niet weergegeven)




