open dir error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Php knipper

php knipper

03/01/2012 16:00:47
Quote Anchor link
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
Gewijzigd op 03/01/2012 16:01:01 door Php knipper
 
PHP hulp

PHP hulp

22/12/2024 06:25:18
 
- Mark -

- Mark -

03/01/2012 16:06:57
Quote Anchor link
Aan de foutmelding te zien is je pad naar het bestand verkeerd.

Kun je een stukje relevante code plaatsen?
 
Php knipper

php knipper

03/01/2012 16:08:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
        }
    }
}

?>
 
Kris Peeters

Kris Peeters

03/01/2012 16:21:12
Quote Anchor link
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?
 
Jelle -

Jelle -

03/01/2012 16:25:25
Quote Anchor link
Misschien staat die dir niet in je basedir en mag je daar dus niet komen?
 
Php knipper

php knipper

03/01/2012 16:26:09
Quote Anchor link
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?
 
Kris Peeters

Kris Peeters

03/01/2012 16:33:51
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$dir
= 'files/';
$handle = opendir($dir);
// ...
?>


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 ...)
 
- Mark -

- Mark -

03/01/2012 16:35:59
Quote Anchor link
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 ../.
 
Php knipper

php knipper

03/01/2012 16:44:08
Quote Anchor link
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
 
- SanThe -

- SanThe -

03/01/2012 16:59:36
Quote Anchor link
Wat doet die @ daar in album@doc?
 
Php knipper

php knipper

03/01/2012 17:11:30
Quote Anchor link
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)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.