Files in root niet te openen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mathieu Posthumus

Mathieu Posthumus

20/05/2014 08:51:24
Quote Anchor link
Hey mensen,

Ik ben er misschien een tijdje mee bezig geweest maar hij is al bijna af, mijn Filebrowser.

Ik kan nu al genoeg doen, alleen wat raar is, is dat ik de files in mijn root dir niet kan openen.
Maar als ik een map verder ga wel.

Dit is het stukje dat jullie zouden moeten hebben lijkt mij.

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
<?php
$pictureExtensie
= array("jpg", "jpeg", "tga", "png", "gif", "tiff", "ico"); //Array gevuld met File type's die geopend mogen worden als Picture!
        $fileExtensie = array("php", "html", "js", "java", "css", "txt", "docx", "properties", "xml", "bat", "ini", "dat", "var"); //Array gevuld met File type's die geopend mogen worden als text bestand!

        if (isset($_GET['url'])) {
            $pathName = $_GET['url'];
            $pathName = realpath($pathName) . '\\';
        }
else {
            $pathName = getcwd() . '\\';
        }


        $showFiles = scandir($pathName);
        
        $newPathName = substr($pathName, 35);
?>


Hoop dat jullie me kunnen helpen.
 
PHP hulp

PHP hulp

03/12/2022 23:01:25
 
Ivo P

Ivo P

20/05/2014 09:37:13
Quote Anchor link
wat is de root dir? De Document_root van de site, of de root van de server?
 
Mathieu Posthumus

Mathieu Posthumus

20/05/2014 09:39:44
Quote Anchor link
Mensen sorry.

Ik heb het al gevonden. waar het fout zat was niet in het stukje dat ik had meegeven.

Voor de mensen die dit toch noch gaan zien en willen weten wat het was.

Dit was het stuke toen het nog fout was.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
foreach ($showFiles as $inhoud) {
if ($inhoud == '..') {
echo '<a href="index.php?url=' . $newPathName . $inhoud . '"><img src="images/dirUP.png"></a>';
}

if (isset($_GET['url'])){
if (!$_GET['url'] == $newPathName) {
header("Location: index.php");
}
}
}

?>


Dit was het stuke nu het is gefixt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
foreach ($showFiles as $inhoud) {
if ($inhoud == '..') {
echo '<a href="index.php?url=' . $newPathName . $inhoud . '"><img src="images/dirUP.png"></a>';
}

if (!$_GET == $newPathName) {
header("Location: index.php");
}
}

?>
Gewijzigd op 20/05/2014 09:40:25 door Mathieu Posthumus
 
Ward van der Put
Moderator

Ward van der Put

20/05/2014 10:06:34
Quote Anchor link
Hoewel het voor file-functies niet noodzakelijk is, zou ik de string '\\' voor de backslash \ van Windows nog even vervangen door de platform-onafhankelijke constante DIRECTORY_SEPARATOR. Wel zo fraai.
 
Mathieu Posthumus

Mathieu Posthumus

20/05/2014 10:22:30
Quote Anchor link
Ward ehm dat is denk net even boven mijn gemiddelde die functie ik houd het nog even hierop
 
Ward van der Put
Moderator

Ward van der Put

20/05/2014 10:33:41
Quote Anchor link
Het is ook niet fout hoor, maar Windows gebruikt \foo\bar.php met backslashes en Linux /foo/bar.php met forward slashes. De constante DIRECTORY_SEPARATOR van PHP wordt automatisch ingesteld op \ of / afhankelijk van het platform waarop PHP draait. Dan heb je daar geen omkijken meer naar.
 
Mathieu Posthumus

Mathieu Posthumus

20/05/2014 11:01:32
Quote Anchor link
Ward van der Put op 20/05/2014 10:33:41:
Het is ook niet fout hoor, maar Windows gebruikt \foo\bar.php met backslashes en Linux /foo/bar.php met forward slashes. De constante DIRECTORY_SEPARATOR van PHP wordt automatisch ingesteld op \ of / afhankelijk van het platform waarop PHP draait. Dan heb je daar geen omkijken meer naar.


Oke wel goed om te weten ik zal het zeker wel onthouden.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 20:29:52
Quote Anchor link
Ward van der Put op 20/05/2014 10:33:41:
Het is ook niet fout hoor, maar Windows gebruikt \foo\bar.php met backslashes en Linux /foo/bar.php met forward slashes. De constante DIRECTORY_SEPARATOR van PHP wordt automatisch ingesteld op \ of / afhankelijk van het platform waarop PHP draait. Dan heb je daar geen omkijken meer naar.


De ervaring leert dat je beter standaard de / kunt gebruiken.
Windhoos kan daar tegen en met DIRECTORY_SEPARATOR loop ik daarin nog wel eens problemen aan.
Gewijzigd op 20/05/2014 20:48:29 door Ger van Steenderen
 



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.